建站资讯
2012-09-18 23:52:01
浏览:
最近客户的页面开发需要嵌入特殊字体的问题,搞的人很头疼,在网上找了很多相关的文章,以下转载自某位网友的文章以供参考:
一个常常令设计师和前端开发人员都头疼的事情就是字体的使用,设计师常常在设计稿中使用某些很漂亮的字体,以实现比较酷炫的界面。但这样常常给编码人员造成一些难度,如果在页面中放弃使用这些字体,设计师会感到郁闷,而如果使用这些字体的话,就要切图并使用很多额外的样式——又一个鱼和熊掌的抉择。还好,现在已经有了一些相关的替代技术了。
css3的@font-face属性(事实上css2中就已引入),为我们带来了一些希望,而firefox 3.5新增的对@font-face的支持,让我们离这个希望更进了一些。
到现在为止,已经有safari、chrome、opera 10和firefox 3.5支持@font-face了,比较意外的是,ie系列浏览器也部分支持该属性。mozilla旗下的其它产品,seamonkey 2 和thunderbird 3 也支持该属性。
浏览器 | 最低版本 | 支持字体 |
---|---|---|
internet explorer | 4.0 | 只支持opentype字体(eof格式) |
firefox (gecko) | 3.5 (1.9.1) | truetype(ttf格式)和opentype 字体 |
opera | 10.0 | truetype和opentype 字体 |
safari (webkit) | 3.1 (525) | truetype和opentype 字体 |
从表中可以看出,ie系浏览器不支持ttf格式的字体,只支持eof格式,不过,微软官方发布了一个weft工具,可以将ttf转化为eof,需要的朋友可以去下载使用。
可以使用的样式如下:
@font-face { font-family: qianduannet; font-style: normal; font-weight: 400; src: url("sketchrockwell.ttf"); } .fontface{ font-family: qianduannet; font-size: 3.2em; letter-spacing: 1px; text-align: center; }
ie中的样式如下:
@font-face { font-family: goudy stout; font-style: normal; font-weight: 400; src: url(goudyst0.eot); }
这是目前最简单实现嵌入字体的方法。
sifr并非一种新技术,而是已经存在并被使用很多年了。sifr是一种很有用也很好用的文本替换技术,通过flash+js+css将网络字体嵌入到页面中。
考虑到网上已经有很多资源,本文就不再赘述,想要了解的朋友可以参考一下文章:
typeface被认为是替代sifr的最佳方案,相对于sifr,typeface少了flash的应用,使用纯js来嵌入相关字体,而且用法也很简单:在页面中引入相应的js文件就ok了。
<html> <head> <link rel="stylesheet" type="text/css" ref="/style.css"> <script type="text/javascript" src="typeface-0.10.js"></script> <script type="text/javascript" src="helvetiker_regular.typeface.js"></script> </head> <body> <div class="myclass typeface-js" style="font-family: helvetiker"> 文本文本... </div> </body> </html>
从中我们可以看出来,使用typeface只需要着简单的几步就可以在页面中使用嵌入字体了。
cufon是一个比较新的技术,被定位为有价值的sifr替代方案,它有很多优势:
cufon通过生成器将字体文件转化为svg字体,再将其转换为vml文件,这对ie很重要,因为ie原生支持vml文件。最后,使用复杂的javascript函数将vml文件编码为json文件(typeface的原理与此类似)。如下图所示:
这样做有很多好处:
cufon的用法与typeface类似,需要加载一个库文件和字体文件。而与typeface不同的是,你需要使用js初始化cufon:
<script type="text/javascript"> cufón.replace('h2', { fontfamily: 'qlassik medium' }); script>
这与typeface的在样式中定义字体很不一样。
cufón | typeface.js | |
---|---|---|
file size | 14.0kb (压缩后) | 16.3kb (未压缩) |
支持的浏览器 | firefox 1.5+, safari 3+, opera 9.5+, google chrome 和 internet explorer6+ | firefox 1.5+, safari 2+, and internet explorer 6+, 最新版已经支持ie8 |
支持的字体类型 | .ttf, .otf, pfb, postscript | .ttf |
支持的字体样式 | font-size, font-style, font-weight, line-height, text-shadow, color | font-size, font-style, font-weight, font-stretch, letter-spacing, line-height |
可选文字? | 尚不支持 | 尚不支持 |
从这个对比中可以看出来,两者并没有太大的不同,cufon支持更多的浏览器和字体类型,而typeface支持更多的字体样式。实际应用中貌似typeface方便一些,可以直接在样式中定义字体,而cufon则有总体文件大小方面的优势。具体用哪一个,看你自己的喜好吧。
事实上,sifr、typeface.js和cufon都是目前常说的文本替换技术,这些技术都可以用来替换@font-face,并且实现更好的浏览器兼容性。但是每种技术都不是完美的:
所以,使用哪种方案,要看你的需求和喜好,或许你宁愿切更多的图片也不愿使用这些技术?
如何通过优化提升手机网站用户体验
随着智能手机的普及和移动互联网的发展,手机网站已成为企业互联网营销的重要渠道之一。然而,由于移动设备的特殊性,手机网站的用户体验常常受到限制。本文将从多个方面为
手机网站制作的关键步骤:从规划到上线
随着移动互联网的快速发展,手机网站成为了企业不可或缺的一部分。拥有一个响应式的手机网站,能够极大地提升用户体验,提高品牌知名度,并且增加转化率。然而,手机网站制作并不是一项简单的任务。本文将逐步介绍手机网站制作的关键步骤,帮助您更好地准备和完成手机网站的建设。
为什么需要手机网站制作?
手机网站制作是为了跟上市场趋势和竞争对手。现在大多数行业都有自己的手机应用或手机网站,如果您的竞争对手已经拥有了手机网站,那么您不制作的话,您将与时俱进的道路就变得更加艰难。通过制作手机网站,您可以提前占领手机市场,赢得更多用户的青睐,并与竞争对手保持一定的竞争力。