2011-06-14 83 views
2

是否有替代bikeshedding CSS3属性?它似乎还没有得到支持。bikeshedding CSS3属性替代?

+0

该酒店确实存在:http://www.w3.org/blog/CSS/2011/03/15/resolutions_152 O_O – 2011-06-14 21:14:24

+0

它已经再次改名,但它不是在'我链接的css3-text'文件。 http://www.xanthir.com/feed/public-css-commits/?t=2011-06-03T13:58:11+00:00 – rockerest 2011-06-14 21:18:16

+0

这是一个普遍的问题,还是你想用这个属性做点什么? – melhosseiny 2011-06-14 21:25:34

回答

2

的空白财产

在CSS3,该white-space属性是white-space-collapsing的简写(我猜bikeshedding意味着他们不知道该怎么称呼它)和text-wrap属性。该white-space属性是CSS 2.1属性大多数浏览器都支持,有两个值,它塌陷新线:

  1. normal(初始值)。
  2. nowrap

但什么是崩溃换行符是什么意思?

根据CSS 2.1:

如果“空白”被设置为“正常”或 “NOWRAP”,换行字符是 转化渲染目的为以下字符 之一:根据 基于 内容脚本的UA特定算法,空间字符,零宽度空间 字符(U + 200B)或无字符 (即,未呈现)。

根据CSS 3:

之前或之后含有 换行符一个 空格序列引起的 白色空间中的整个序列折叠成零 宽度空间A零宽度的空间。

现实:

大多数浏览器转换换行符为空间。所以你真正想要的是将white-space-collapsing属性设置为discard而不是collapsecollapse,然后在换行符之前添加零宽度空格字符。

做,直到浏览器支持什么

从HTML文档中删除空格:

<span>A</span> 
<span>B</span> 

要:

<span>A</span><span>B</span> 

或者:

<span>A</span><span> 
    B</span> 
+1

其实,第二个选项仍然会导致A和B之间的空间。只是FYI。好消息,谢谢! ;) – CptRobby 2013-07-25 18:08:35

+0

您可以移动标签内的空格以提高可读性:' A B Killroy 2017-02-08 19:37:16

11

总是有最明显的修复,这是简单地删除HTML中的空白:

http://jsfiddle.net/F3Mdd/1/ - 它真的很容易,它只是工作。从这:

<div>a</div> 
<div>a</div> 

这样:

<div>a</div><div>a</div> 

这里有一个更详细的answer

说实话,我一直只是删除空格...

2

另一种方法就是等待这个CSS3特性,然后用Javascript去除空白。

http://jsfiddle.net/rT4Dy/2/

$('[data-bikeshedding="discard"]').each (function() { 
    var node = $(this); 
    node.html (node.find ('> *').detach()); 
}); 
+0

此答案应该是正确的答案!我喜欢它。 – skolind 2015-04-22 12:29:58