问题场景
在写样式时经常需要用到非ASCII字符的属性值,如下:
1 2 3 4 5 6 7 8 9 10 11 | .hot_list .sign_discount:before { content: "满减" ; padding: 0 8px; margin-right: 7px; font-size: 12px; line-height: 14px; color: #fff; text-align: center; border-radius: 11px; } |
但是Chrome下展示时有些时候会显示乱码:
除content外,font字体也是经常需要用于非ASCII字符的值,如font-family: “微软雅黑”
最佳实践
为避免以上这类编码问题,CSS推荐在涉及非ASCII字符时统一使用反斜杠转义以避免编码问题:
详情请见:http://www.w3.org/TR/CSS2/syndata.html#escaped-characters
所以上例可以改成:
1 2 3 4 5 6 7 8 9 10 11 | .hot_list .sign_discount:before { content: "\6ee1\51cf" ; padding: 0 8px; margin-right: 7px; font-size: 12px; line-height: 14px; color: #fff; text-align: center; border-radius: 11px; } |