在Safari 5.1(Windows)</button>上无法正确呈现<button>中的Unicode

时间:2013-02-04 13:03:01

标签: html windows unicode safari

在Safari 5.1 / Windows XP中,按钮元素中的unicode箭头未显示。 <span>工作正常。

<span>▼</span>
<button>▼</button>

截图: http://cl.ly/image/1T0J1X10141A

小提琴: http://jsfiddle.net/christianhaller/nTvjU/1/

要解决此问题的任何提示吗?

更多信息:同一操作系统上的IE8对unicode字符没有问题

1 个答案:

答案 0 :(得分:1)

这是一个字体问题。它在Windows 7上的Safari 5.1.7中不存在,但我能够在Safari 5.1.7中在虚拟Windows XP中重现它。而不是三角形字符,会出现一个小矩形,这是缺少字形的常见指示。

显然,在Windows XP上,Safari对button元素使用一些固定字体(似乎是Microsoft Sans Serif),并且在遇到该字体中不存在的字符时无法查找其他字体。幸运的是,这可以通过指定包含它的字体来修复。如果您希望通常在Microsoft Sans Serif中呈现button个元素,那么在CSS中指定一个后备字体就足够了:

button { font-family: Microsoft Sans Serif, Arial }

Quite a few fonts包含三角形字符,因此有很多选项。您可能希望将其中一些作为button元素的主要字体,而不仅仅是后备字体。