1

我希望在字符之间留一个空格,不换行...

这是我正在谈论的内容的演示:

http://jsfiddle.net/hGdXE/1/

我也试过这个:

<span style="white-space:nowrap">&thinsp;</span>

问题是此代码在 Kobo 电子书阅读器中不起作用。

有没有其他方法可以使这项工作?

4

1 回答 1

2

对于non-break thin space的问题,基本上有四种方法: 1) 使用U+202F NARROW NO-BREAK SPACE,这将是一个纯字符级的解决方案,但是浏览器和字体支持是个问题。2) 使用 U+2009 THIN SPACE 并尝试使其不中断,正如您所尝试的那样。这主要是有效的,但它很笨拙,你需要包括来自薄空间每一侧的字符,就像在你的小提琴中一样。3) 使用正常的空格,U+0020 SPACE,并尝试使用 CSS 使其既不中断又适当变窄。4) 使用 U+00A0 NO-BREAK SPACE 并尝试使用 CSS 使其变窄。

总的来说,最后一种方法似乎是最好的方法。您需要将不间断空格包装在内联元素中并将其display属性设置为inline-block,这样width设置就会产生效果:

<span class=fine>&nbsp;</span>

使用 CSS 代码

.fine {
  display: inline-block;
  width: 0.125em;
} 

我希望这适用于 Kobo 电子书阅读器。它应该,因为浏览器通常很好地支持不间断空格,只有 IE 中的一些例外,并且 CSS 样式很简单。

于 2012-12-17T03:44:11.817 回答