网页嵌入自定义字体方法

@font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中。经常地,我们希望在网页中使用某一特定字体,但是该字体并非主流操作系统的内置字体,这样用户在浏览页面的时候就有可能看不到真实的设计。美工设计师最常做的办法是把想要的文字做成图片,这样做有几个明显缺陷:1. 不可能大范围的使用该字体;2. 图片内容相对使用文字不易修改;3. 不利于网站SEO(主流搜索引擎不会将图片alt内容作为判断网页内容相关性的有效因素)。网络上有一些使用sIFR技术、或javascript/flash hack的方法,但实现起来或繁琐,或有缺陷。下面要讲的是如何只通过CSS的@font-face属性来实现在网页中嵌入任意字体。

先看下@font-face的语法规则:

@font-face {
      font-family: <YourWebFontName>;
      src: <source> [<format>][,<source> [<format>]]*;
      [font-weight: <weight>];
      [font-style: <style>];
    }

取值说明

1、YourWebFontName:此值指的就是你自定义的字体名称,最好是使用你下载的默认字体,他将被引用到你的Web元素中的font-family。如“font-family:"YourWebFontName";”

2、source:此值指的是你自定义的字体的存放路径,可以是相对路径也可以是绝路径;

3、format:此值指的是你自定义的字体的格式,主要用来帮助浏览器识别,其值主要有以下几种类型:truetype,opentype,truetype-aat,embedded-opentype,avg等;

4、weight和style:这两个值大家一定很熟悉,weight定义字体是否为粗体,style主要定义字体样式,如斜体。

实现步骤:

第一步

获取要使用字体的三种文件格式,确保能在主流浏览器中都能正常显示该字体。

  • .TTF或.OTF,适用于Firefox 3.5、Safari、Opera
  • .EOT,适用于Internet Explorer 4.0+
  • .SVG,适用于Chrome、IPhone

下面要解决的是如何获取到某种字体的这三种格式文件。一般地,我们在手头上(或在设计资源站点已经找到)有该字体的某种格式文件,最常见的是.TTF文件,我们需要通过这种文件格式转换为其余两种文件格式。字体文件格式的转换可以通过网站FontsQuirrel或onlinefontconverter提供的在线字体转换服务获取。这里推荐第一个站点。

关于 获取特殊字体:

推荐2个网站:Google Web FontsDafont.com。当然你也可以选择其他的。

关于 字体转换,点击这里,主要设置的参数如下:

第二步

获取到三种格式的字体文件后,下一步要在样式表中声明该字体,并在需要的地方使用该字体。

字体声明如下:

 @font-face {
      font-family: ‘pingfang‘;
      src: url(‘../fonts/pingfang-webfont.eot‘);
      src: url(‘../fonts/pingfang-webfont.eot?#iefix‘) format(‘embedded-opentype‘),
           url(‘../fonts/pingfang-webfont.woff‘) format(‘woff‘),
       url(‘../fonts/pingfang-webfont.ttf‘) format(‘truetype‘),
       url(‘../fonts/pingfang-webfont.svg#pingfang‘) format(‘svg‘);
      font-weight: normal;
      font-style: normal;
   }

到这里为止,我们已经通过@font-face自定义好所需的pingfang字体,离最后效果只差一步了,就是把自己定义的字体应用到你的Web中的DOM元素上:

p { font: 13px pingfang, Arial, sans-serif; }
h1{font-family: pingfang}

更详细的文章推荐:CSS3 @font-face

时间: 2024-07-30 07:04:55

网页嵌入自定义字体方法的相关文章

css网页使用自定义字体方法

@font-face可以加载服务器端的字体到浏览器端,这样设计师就可以不受客户端字体库的限制. 一般来说有四种格式的字体文件即可覆盖所有浏览器.这四种格式为: .EOT:适用于Internet Explorer 4.0+. .TTF或.OTF:适用于Firefox 3.5.Safari.Opera. .SVG:适用于Chrome.IPhone. .WOFF:转为web字体指定的字体格式标准,被新版本浏览器广泛支持. 语法+举例:在css中如下写 @font-face { font-family:

自定义字体的方法

网页自定义字体终极教程(兼容各大浏览器)作者:零度逍遥 | 时间:2014-08-25 | 浏览:1050 | 0 条评论在我们浏览网页的时候,文字占据着网页的大部分空间,给我们提供重要的信息,所以作为前端开发工程师,我们有义务把网页的字体设计的更加美观,让用户看起来更加舒适,随着CSS3的出现,网页自定义字体收到越来越多的开发人员欢迎. 我想有人可能会像我一样,尝试搜索过各种方法,但都不是太理想,有的是加载不成功,有的则是兼容性不好,无奈,自己闷头研究,终于在今天有了个成果,给大家分享一下.

【WP 8.1开发】如何把自定义字体塞进应用里

或许,系统自带的字体不足以体现应用程序的魅力,对于表现极强的汉字来说,更是如此.这时候,我们就会想,要是能把网上下载的艺术字体塞到应用包中,那岂不美哉?那么,这可以实现吗?答案是Yes的. 接下来,阿拉就给大家分别演示WP 8.1两个开发框架中如何嵌入自定义字体. 为啥是两大框架?我们知道从7x到8.0的开发框架是Silverlight for Windows Phone,为了便于兼容和直接项目升级,在8.1中,微软的开发团队依然保留了这个框架:另外一个框架是从Win RT应用移植的API集,这

[Android] 如何自定义字体

项目里要统一用设计师的字体,android:typeface只支持系统三种字体.有什么比较好的做法? 你需要为整个应用替换自定义字体. 解决方案 1)Android默认方法 #1 你可以通过ID查找到View,然后挨个为它们设置字体.在单个View的情况下,它看起来也没有那么可怕. Typeface customFont = Typeface.createFromAsset(this.getAssets(), "fonts/YourCustomFont.ttf"); TextView

如何在网页使用自定义的字体

有时候我们需要在网页上显示自定义的字体,方法在网上有很多,下面说下自己的看法.先看看演示效果: 效果演示 2014年9月4日 星期四 13:38:42 美国 00:38:42澳门威尼斯人赌场 日本 14:38:42 英国 07:38:42 澳大利亚 16:38:42 在网页中嵌入非系统自带字体,虽然技术上能实现,但是对国内来说,没有太大的实际意义,因为一个中文体文件起码20M+,而且各个浏览器支持的字体文件还都不一样,也就是说,在服务器端必须有2-3个不同格式的字体文件,用来应付各个浏览器,可以

css3 自定义字体的使用方法

@font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许多人会不自然的问,这样的东西IE能支持吗?当我告诉大家@font-face这个功能早在IE4就支持了你肯定会感到惊讶.我的Blog就使用了许多这样的自定义Web字体,比如说首页的Logo,Tags以及页面中的手写英文体,很多朋友问我如何使用,能让自己的页面也支持这样的自定义字体,一句话这些都是@fo

iOS开发中自定义字体的方法

http://www.cnblogs.com/iyou/archive/2014/05/25/3751669.html 1. 首先下载你想要设置的字体库,例如设置方正启体简体 2. 添加到工程,一定要注意勾选红色框框处,默认是不勾选的  添加以后 3.在plist文件中添加 4.现在已经添加成功了,但是要使用就必须知道FontName,用以下代码可查到 NSArray *familyNames = [[NSArray alloc] initWithArray:[UIFont familyName

iOS使用自定义字体的方法(内置和任意下载ttf\otf\ttc字体文件)

最近做了个有关阅读的应用,使用了自定义字体,学习了一下这方面的知识. 1.首先是最简单也普遍的做法,打包内置字符库文件: 把字体库文件添加到工程,如font1.ttf添加到工程,然后在工程plist添加一项Fonts provided by application,这是个数组,然后添加key item1,value就是刚才说的font1.ttf,如图: 那么在工程里就可以直接使用这个字体,直接用 + (UIFont *)fontWithName:(NSString *)fontName size

Android 中使用自定义字体的方法

1.Android系统默认支持三种字体,分别为:“sans”, “serif”, “monospace 2.在Android中可以引入其他字体 . <?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:Android="http://schemas.android.com/apk/res/android" Android:layout_width="fill