34

有破折号和破折号。是否有一个相当于 的“en”?? 是否有与纯Ascii 32等效的en

我想要一个更好的方法来写这个:

123<span class="spanen">&nbsp;</span>456<span class="spanen">&nbsp;</span>789

或这个:

123<span class="spanen"> </span>456<span class="spanen"> </span>789
4

5 回答 5

54

&thinsp;(薄空间)应该做

注意&nbsp;&mdash;(—)不一样;要分隔数字,您应该使用狭窄的不间断空格 (U+202F)。

正如其他人所提到的,您最好使用 CSS 属性word-spacing来定义空间的宽度。将它与white-space:nowrap;

于 2010-04-27T11:41:02.793 回答
23

不要使用没有意义的黑客。如果你想分隔一些单词,我建议你使用 CSS 属性word-spacing

.strangeNumbers {
  word-spacing: 0.5em;
}
<span class="strangeNumbers">123 456</span>

于 2010-04-27T11:51:26.493 回答
14

Unicode 字符 U+2002 EN SPACE&#x2002;&#8194;作为实体引用&ensp;)是一个宽度为 en 的空格。

于 2010-04-27T11:43:58.303 回答
6
&thinsp;

...以及其他各种非标准空格字符在某些固定字体中未正确实现。

这将以无法控制的方式破坏您在 Web 浏览器端的渲染,并且您无法通过特定字体来修复它,因为您无法控制 Web 浏览器使用的实际字体 - 即使您指定字体名称或字体系列,这并不意味着它们拥有的字体与拥有的字体相同。

但是,您可以构建一个 100% 兼容的任意大小的空间,而且非常容易。em值是当前font-size。它是高度,但无论字体的宽度是多少,它始终是相对于固定宽度字体的高度的常数。所以你可以利用它。

以下是如何在适用于所有内容的固定宽度字体的上下文中创建1/2 宽度、不间断的空间。我展示了它是在跨度选项中实现的,但当然你可以创建一个 CSS 类来减少它的使用:style=""

<span style="font-size: .5em;">&nbsp;</span>

以下是如何制作1/4 宽度的不间断空间:

<span style="font-size: .25em;">&nbsp;</span>

...等等。

这总是适用于小于当前全角空间的空间大小,因为字符比行上的其他字符短,因此它们控制行间距,而不是较短的字符。

如果您想要一个比一个空间更宽的空间,请使用完整空间和较短空间的组合。如果你使用类似的东西你1.5em得到一个更宽的空间,你也会得到一个更高的空间,所以这会影响行间距。

虽然这个解决方案非常麻烦,但它具有始终有效的理想属性——其他解决方案都没有。

于 2017-01-14T18:25:56.303 回答
1

你可以改变你的CSS:

.spanen{word-spacing:.6em;}
于 2010-04-27T11:48:28.663 回答