2

bikesheddingCSS3属性有什么替代品吗?好像还不支持。

4

4 回答 4

11

总是有最明显的解决方法,就是简单地删除 HTML 中的空格:

http://jsfiddle.net/F3Mdd/1/ - 这真的很简单,而且很有效。由此:

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

对此:

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

这是一个更详细的答案

老实说,我总是只是删除空格......

于 2011-06-15T00:21:43.453 回答
3

空白属性

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

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

但是折叠换行符是什么意思呢?

根据 CSS 2.1:

如果 'white-space' 设置为 'normal' 或 'nowrap',则换行字符将被转换为以下字符之一:空格字符、零宽度空格字符 (U+200B) 或无字符 (即,未渲染),根据基于内容脚本的 UA 特定算法。

根据 CSS 3:

在包含换行符的空白序列之前或之后的零宽度空间会导致整个空白序列折叠成零宽度空间。

现实:

大多数浏览器将换行符转换为空格。所以你真正想要的是将white-space-collapsing属性设置为discardnotcollapse或 tocollapse然后在换行符之前添加一个零宽度的空格字符。

在浏览器支持之前做什么

从 HTML 文档中删除空格:

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

至:

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

或者:

<span>A</span><span>
    B</span>
于 2011-06-15T00:42:52.377 回答
2

另一种方法是简单地等待这个 CSS3 功能并在此之前通过 Javascript 删除空格。

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

$('[data-bikeshedding="discard"]').each (function () {
  var node = $(this);
  node.html (node.find ('> *').detach ());
});
于 2013-04-25T22:27:39.847 回答
0

如果我理解正确,您的意思是text-spacing财产。

据我所知,支持的并不多

于 2011-06-14T21:15:47.023 回答