有 em dash 和 en dash。是否有与 相对应的 "en" 版本?是否有纯 ASCII 32 的 en 版本?
我希望有更好的编写方式:
123<span class="spanen"> </span>456<span class="spanen"> </span>789
或者是这样:
123<span class="spanen"> </span>456<span class="spanen"> </span>789
有 em dash 和 en dash。是否有与 相对应的 "en" 版本?是否有纯 ASCII 32 的 en 版本?
我希望有更好的编写方式:
123<span class="spanen"> </span>456<span class="spanen"> </span>789
或者是这样:
123<span class="spanen"> </span>456<span class="spanen"> </span>789
 
(窄空格)应该足够了。
请注意,
与—
(—)的宽度不同;为了分隔数字,您应该使用窄的不间断空格(U+202F)。
正如其他人所提到的,最好使用CSS属性word-spacing
来定义空格的宽度。最好将其与white-space:nowrap;
结合使用,以避免在数字组之间断行,并使整个数字保持在一行上。
 
和许多其他选择:https://dev59.com/Qmoy5IYBdhLWcg3wfeIR#8515417 - dolphin不要使用毫无意义的技巧。如果你想要将一些单词分开,建议你使用CSS属性word-spacing:
.strangeNumbers {
word-spacing: 0.5em;
}
<span class="strangeNumbers">123 456</span>
white-space: nowrap;
来确保这个数字不会被分成两行。 - Maciej
代替空格。 - Aleksei Zabrodskiiword-spacing
和white-space:nowrap;
,而不是错误的字符。 - ANevesUnicode字符U+2002 EN SPACE ( 
, 
或作为实体引用 
)是带有en宽度的空格。
 
在一些固定的字体中,省略号(...)和其他一些非标准空格字符没有得到很好的实现。
这将会导致在 web 浏览器端无法控制地破坏渲染效果,即使你指定了字体名称或字体族,也不能控制 web 浏览器实际使用的字体是否与你使用的相同。
但是,你可以构建一个任意大小的 100% 兼容空格,并且非常容易。em 值是当前字体大小。它是高度,但无论字体的宽度如何,它始终是相对于固定宽度字体中的高度的一个恒定值。因此,你可以利用它来解决这个问题。
以下是在固定宽度字体上创建一个1/2 宽度、不换行的空格的方法,它适用于所有情况。我在 span 的 style=""
选项中展示了它的实现方法,当然,你也可以创建一个 CSS 类来使其使用更为便捷:
<span style="font-size: .5em;"> </span>
<span style="font-size: .25em;"> </span>
这种方法只适用于空格大小小于当前全宽空格的情况,因为该字符比行上的其他字符短,所以它们控制行间距而不是较短的字符。
如果您需要一个比单个空格更宽的空格,请使用全角空格和半角空格的组合。虽然使用类似于1.5em
的东西会得到更宽的空格,但您也会得到更高的空格,从而影响行间距。
尽管这种解决方案非常繁琐,但它具有始终有效的优点,而其他解决方案则没有。
您可以这样修改您的CSS:
.spanen{word-spacing:.6em;}
 
表示en-space, 
表示em-space, 
表示标点符号空格。有关更多信息,请参见https://dev59.com/Qmoy5IYBdhLWcg3wfeIR。顺便问一下,您所说的“en相当于纯Ascii 32”是什么意思? - Pacerier