sic*_*ill 7 html css fonts pre monospace
我正在使用pre元素来显示一些文本,包括特殊的unicode字符(⚡⚑▶◀⁋).我注意到浏览器渲染这些特殊字符比常规字符更宽,水平占用更多空间.
这可以很容易地看到:https://gist.github.com/968b5c22cce14909cf27 两行都有20个字符,但注意第一行更长(屏幕像素).
是否有一种方法(CSS)强制pre元素(或应用了等宽字体的其他元素)具有真正固定的字符宽度?
我检查了Chrome和Firefox,它们都扩展了特殊字符的宽度.
原因是所应用的声明中列出的第一个字体缺少一些字符font-family。因此,它们将在系统中显示一些其他字体,或者显示一些无法表示的字符的指示符。
例如,第一个字符仅出现在少数字体中,请参阅 http://www.fileformat.info/info/unicode/char/26a1/fontsupport.htm (它并未涵盖所有字体,但涵盖了人们可能认为的大多数字体)他们的计算机上有)。
即使使用的其他字体是等宽字体,它们也可能具有不同的字符提前宽度。例如,Everson Mono 的宽度比DejaVu Sans Mono稍小。等宽意味着在字体内,所有字符都具有相同的预宽。
因此,您需要使用包含您需要的所有字符的单一字体。对于这个字符集合,上述两种字体可能是唯一包含所有这些字符的公开分发的等宽字体。嗯,有unifont,但它是一种位图字体,设计非常粗糙;12pt 或稍大一点的尺寸看起来可能还可以。