2011-11-20 35 views
4

我对这个很惊讶。 Chrome,Safari,Opera和Firefox都有自己的HTML Character实体版本。我只是不明白,符号的渲染是由浏览器在内部定义的。所以在我的浏览器的应用程序代码的某个地方,有规范有自己的HTML实体的渲染雪男人:Web浏览器引擎和特殊字符渲染

enter image description here

或比较的回收标志和镀铬的双方征之间几乎激进的大小差异或者Safari和Firefox:http://marckremers.com/SO/test.html 在Opera中,它甚至不显示双方。

我完全糊涂了,并通过浏览器公司的短选址岬实际上失望。 在这里,他们有一个惊人的机会,提供Web开发人员和设计师一套标准化的符号中的UI的所有方式。但是,不,他们都做出了自己的古怪版本,这意味着我们不能依靠他们进行一致的网页设计。

我的问题:是否有办法来一直显示这些符号? 有官方的雪人吗? (只是作为一个例子,它可以是任何可用的数百个符号的)

最后请到这里来调查效果的绝对差异(通过浏览器轻弹看)

http://copypastecharacter.com/

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

+2

的downvote是不是我的,因为这是一个有趣的问题,但是这是不是一种字体问题,而不是一个浏览器?你可以尝试指定一个'font-family'? –

+2

我稍微修改了'marck ...'网址,将'hmtl'修改为'html'。希望这是你想发布的内容... – home

+0

不,它不是。我无法相信一些人。这是一个完全合法的问题。字体与它无关。事实上,我已经指定Arial来证明这一点。 – RGBK

回答

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协会。

结论

的字形只是不规范,你不能依靠它的图形表示。它可能取决于字体以及用来显示符号的应用程序(应用程序或浏览器可能使用内部非操作系统字体)。顺便说一句:在我的盒子(Ubuntu 11.04)上,符号在Firefox(7.0.1)和Chrome(15)中看起来完全一样。

标准高兴我们有两个不同的雪人 - 有和无背景雪花:-)

+0

谢谢你们。我认为这是背后原因的一个很好的答案。我对这个问题的解决方案是将SVG与Ample SDK结合使用,它允许SVG图形用于所有浏览器,甚至IE 5.5。谢谢 – RGBK