Web浏览器引擎和特殊字符呈现

时间:2011-11-20 13:28:12

标签: html firefox google-chrome safari cross-browser

我对此感到非常惊讶。 Chrome,Safari,Opera和Firefox都有自己版本的HTML Character实体。我只是不明白,符号的呈现是由浏览器在内部定义的。因此,在我的浏览器应用程序代码的某处,有针对雪人的HTML实体的渲染的规范:

enter image description here

或者比较Chrome或Safari与Firefox之间回收标志和双方标志之间几乎激进的尺寸差异:http://marckremers.com/SO/test.html 在Opera中,它甚至不显示双正方形。

我对浏览器公司的短暂选址感到非常困惑和失望。 在这里,他们有一个绝佳的机会为Web开发人员和设计人员提供各种UI方式的标准化符号集。但不,他们都制作了自己的古怪版本,这意味着我们不能依赖它们来实现一致的网页设计。

我的问题:有没有办法一致地显示这些符号? 有官方雪人吗? (仅作为示例,它可以是可用的数百个符号中的任何一个)

最后请到这里调查渲染的绝对差异(浏览浏览器看看)

http://copypastecharacter.com/

EDIT 进一步观察后,它显然与Webkit,Gecko和Presto(Opera)渲染引擎相关,不一定是不同的浏览器。 Safari和Chrome呈现完全相同的雪人。

1 个答案:

答案 0 :(得分:3)

答案......雪人的十进制表示为9731 http://copypastecharacter.com/

<span data-decimal="9731" data-entity="&amp;#9731;" data-id="45739" title="Snowman">☃</span>

它的十六进制表示是0x2603。在unicode.org/charts查找此角色告诉我们,我们应该调查this document

字体部分说明:

  

这些代码表中使用的参考字形的形状不是   的规定的即可。实际上可以预期相当大的变化   字体。这些图表中使用的特定字体是提供给   Unicode Consortium由众多不同的字体设计者所拥有   字体的权利。

<强>结论

字形只是没有标准化,你不能依赖它的图形表示。它可能取决于字体以及用于显示符号的应用程序(应用程序或浏览器可能使用内部非OS字体)。顺便说一句:在我的盒子(Ubuntu 11.04)上,符号在Firefox(7.0.1)和Chrome(15)中看起来完全相同。

标准让我们感到高兴的是两个不同的雪人 - 背景中有雪花和没有雪花: - )