如何去除无HTML实体的分数(如1/8)的加粗显示?
解决Chrome中⅛显示为加粗的问题
这个问题确实和⅛并非标准HTML实体有关——HTML只定义了½(½)、¼(¼)、¾(¾)这些常见分数的实体,⅛属于非标准的自定义实体,Chrome对它的渲染没有统一规范,才会出现意外的加粗样式。这里有几个可靠的解决办法:
1. 使用标准Unicode分数字符(推荐)
直接使用对应分数的Unicode字符,这是最稳妥的方式,所有现代浏览器都支持:
- 1/8的Unicode是⅛,可以直接在代码里写这个字符,或者用Unicode转义码:
- 十六进制转义:
⅛ - 十进制转义:
⅛
- 十六进制转义:
这样渲染出来的分数和½、¼一样,是字体原生的样式,不会出现加粗问题。
2. 强制用CSS取消加粗
如果你因为某些原因必须使用⅛,可以给包裹它的元素加上CSS样式强制取消加粗:
<span style="font-weight: normal;">⅛</span>
这种方式直接覆盖浏览器的默认错误渲染样式,快速解决显示问题。
3. 指定支持完整分数的字体
部分字体对非标准实体的分数字符没有适配,会调用加粗变体来显示。你可以通过CSS指定一个支持完整分数符号的字体,比如:
.fraction { font-family: "Segoe UI Symbol", "Arial Unicode MS", sans-serif; }
然后把分数放在这个类的元素里:
<span class="fraction">⅛</span>
内容的提问来源于stack exchange,提问作者george1912
相关产品推荐
相关产品推荐

