说明:
做网站前端朋友们都知道,用户浏览网站时,网页上的字体是客户电脑上的的。如果说网站使用了用户电脑所没有安装的字体,那预期的效果就没有了,浏览器将会使用电脑默认的字体来显示页面,比如“宋体”。
其实使用用户电脑上没有的字体还是有解决办法的。比如以下两种:
方法1:
准备好字体文件(需要制作几种不同的格式),放置到服务器上,再用 CSS 的方法把字体加载到网页中,这样,即使用户电脑中没有某一种字体,也可以正常显示!(不推荐使用体积过大的字体,比如中文系列)。
各浏览器对WEB字体各种格式的支持情况及字体格式转换可以查看这篇文章。
CSS代码:
@font-face { /* 有多少个字体要写多少个“@font-face {}”块 */
font-family:;
src: url('Coda.eot'); /* IE9 */
src: url('Coda.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('Coda.woff') format('woff'), /* Modern Browsers */
url('Coda.ttf') format('truetype'), /* Safari, Android, iOS */
url('Coda.svg#Coda') format('svg'); /* Legacy iOS */
}
方法2:
使用Google提供的字体库:
WebFontConfig = {
google: {families: ['Coda|Dancing+Script']}
// “[]”里是字体名,多个字体用“|”分割,字体名中的空格用“+”代替
// 不推荐加载中文字体,原因:体积太大,通常都是M级别的
};
(function() {
var wf = document.createElement('script');
wf.src = ('https:' == document.location.protocol ? 'https' : 'http') + '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
wf.type = 'text/javascript';
wf.async = 'true';
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(wf, s);
})();
这个方法只是封装了第一种方法,不需要转换、上传字体,直接使用Google的服务即可,缺点是Google在国内貌似还不是很稳定。
<完>