如何在HTML中创建小空格?

use*_*021 23 html layout typography

有冲刺和冲刺.是否有"en"等同于  ?是否有与纯Ascii 32相当的en

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

123<span class="spanen">&nbsp;</span>456<span class="spanen">&nbsp;</span>789
Run Code Online (Sandbox Code Playgroud)

或这个:

123<span class="spanen"> </span>456<span class="spanen"> </span>789
Run Code Online (Sandbox Code Playgroud)

kni*_*ttl 47

&thinsp; (薄空间)应该做

并且&nbsp;&mdash;( - )不一样,要分隔数字,你应该使用一个狭窄的不间断空间(U + 202F).

正如其他人所提到的,最好使用css属性word-spacing来定义空间的宽度.结合它可能是一个好主意white-space:no-break;


ANe*_*ves 20

不要使用没有意义的黑客.如果你想分开一些单词,我建议你使用CSS属性字间距:

.strangeNumbers {
  word-spacing: 0.5em;
}
Run Code Online (Sandbox Code Playgroud)
<span class="strangeNumbers">123 456</span>
Run Code Online (Sandbox Code Playgroud)

  • 是的,他们这样做,甚至是IE6. (2认同)

Gum*_*mbo 13

Unicode字符U + 2002 EN SPACE(&#x2002;,&#8194;或作为实体引用&ensp;)是带连接宽度的空间.


fyn*_*yrz 5

&thinsp;
Run Code Online (Sandbox Code Playgroud)

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

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

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

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

<span style="font-size: .5em;">&nbsp;</span>
Run Code Online (Sandbox Code Playgroud)

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

<span style="font-size: .25em;">&nbsp;</span>
Run Code Online (Sandbox Code Playgroud)

...等等。

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

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

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