CSS @ font-face – “src:local('☺')”是什么意思?

我第一次使用@font-face并从fontsquirrel下载了一个font-kit

他们推荐在我的CSS中插入的代码是:

 @font-face { font-family: 'junctionregularRegular'; src: url('Junction-webfont.eot'); src: local('☺'), url('Junction-webfont.woff') format('woff'), url('Junction-webfont.ttf') format('truetype'), url('Junction-webfont.svg#webfontoNEpZXy2') format('svg'); } 

现在,笑脸的东西让我难住了。 但是src中的urls数量也是如此 – 为什么他们推荐这么多的文件,并且当页面被渲染的时候都会被发送到浏览器? 删除.ttf以外的所有内容都有什么坏处?

如果你读过字体松鼠的字体生成器中的笔记,你会发现这是爱尔兰人的一个难题。

这是他的博客文章的摘录:


而..关于@font-face语法

我现在推荐使用原始防弹语法的防弹笑脸变体。

 @font-face { font-family: 'Graublau Web'; src: url('GraublauWeb.eot'); src: local('☺'), url('GraublauWeb.woff') format('woff'), url('GraublauWeb.ttf') format('truetype'); } 

从防弹岗位:

是的,这是一个笑脸。 OpenType规范指出任何双字节unicode字符在Mac上都不能以字体名称工作,这样可以减less某人真的以这样的名字发布字体的可能性。

笑脸是一个更好的解决scheme有几个原因:

  • Webkit +字体pipe理软件可能会混淆本地引用,如将字形转换为A块。

  • 在OS X上,字体pipe理软件可能会改变系统设置,以在尝试访问可在Library / Fonts之外访问的本地()字体时显示对话框。 在我的防弹岗位更详细。 字体资源pipe理器X也被称为混乱了其他东西在Firefox。

  • 尽pipe不太可能,但是可以引用与您认为完全不同的本地()字体。 (不同的字体,同名的Typophile文章)至less是它的一个风险,你放弃了对浏览器和主机的控制types。 这种风险可能不值得避免字体下载的好处。

这些都是非常有优势的案例,但值得考虑。

本地(☺︎)是一个CSS的黑客转移IE6-8从下载字体不能使用(它只能使用EOT格式的字体)。

解释:最后一个src属性在CSS层叠中优先,这意味着CSS将从下到上进行parsing。 本地(☺︎)将使IE跳过底部的src,而不会浪费带宽下载不能使用的字体,而是直接转到它将使用的EOT(定义在上面的行)。 笑脸只是为了确保不会有这个名字(字符组合)的本地字体。

阅读更多: http : //nicewebtype.com/notes/2009/10/30/how-to-use-css-font-face/

@ font-face最后一个src属性在CSS层叠中优先,这意味着CSS将从下到上进行parsing。