css3个性化字体_动力节点Java学院整理

  发布时间:2017-07-12 10:40:31   作者:梦想天空   我要评论
想要丰富多彩的页面就需要有更多的字体样式,这篇文章主要为大家详细介绍了使用@font-face实现个性化字体,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

在网页中,我们可以用CSS的font-family属性来定义字体,然而定义的字体在用户的电脑上能否正确呈现则要看用户的电脑是否安装了该字体。我们经常能看到国外的一些个人网站使用了非常漂亮的字体,而这些字体通常在用户的电脑中是没有安装的,所以用font-family属性就无法实现了,今天我们就介绍使用@font-face实现个性化字体。

CSS3 @font-face

说@font-face是CSS3的新特性并不准确,因为CSS2就已经支持了这一特性,并且Internet Explorer早在第5版的时候就已经支持它了,不过IE实现方式是通过自有的eot(Embeded Open Type)字体格式,其它浏览器都不支持这个格式。@font-face支持如下属性:

  font-family:设置文本的字体名称。
  font-style:设置文本样式。
  font-variant:设置文本是否大小写。
  font-weight:设置文本的粗细。
  font-stretch:设置文本是否横向的拉伸变形。
  font-size:设置文本字体大小。
  src:设置自定义字体的相对路径或者绝对路径。
  @font-face浏览器兼容性如下:
 

一个简单例子

先声明一个名为ChantelliAntiquaRegular的字体,有一种老的写法是这样的:

@font-face {
    font-family: "ChantelliAntiquaRegular";
    src: url("Chantelli_Antiqua-webfont.eot");
    src: local("☺"), url("Chantelli_Antiqua-webfont.woff") format("woff"), url("Chantelli_Antiqua-webfont.ttf") format("truetype"), url("Chantelli_Antiqua-webfont.svg#webfontZjhIjbDc") format("svg");
    font-weight: normal;
    font-style: normal;
}

第一个src是兼容IE,第二个src是兼容其它浏览器。local("☺")是一种hack写法,避免从客户端加载字体,这种写法在Android系统中有BUG,改进方案是声明两个@font-face,如下:

@font-face {
    font-family: "ChantelliAntiquaRegular";
    src: url("Chantelli_Antiqua-webfont.eot");
}
 
@font-face {
    font-family: "ChantelliAntiquaRegular";
    src: url(//:) format("no404"), url("Chantelli_Antiqua-webfont.woff") format("woff"), url("Chantelli_Antiqua-webfont.ttf") format("truetype"), url("Chantelli_Antiqua-webfont.svg#webfontMFqI76bT") format("svg");
    font-weight: normal;
    font-style: normal;
}

我们首先声明一个引用eot字体文件的@font-face,以确保它在IE中能正常工作,第二个@font-face引用了多个字体格式是为了兼容其它浏览器,它们将按顺序查找,直到找到支持的格式,这意味着同一个字体需要有多个格式。url(//:) format("no404")是一种Bulletproof写法。

其它的HTML和CSS代码如下:
 

.font-face-display {
    font: 66px ChantelliAntiquaRegular, Helvetica, sans-serif;
}
 
<div class="font-face-display">Take me to your heart</div>

最重效果如下:

免费字体网站Font Squirrel

  Font Squirrel是一个非常优秀的免费字体资源网站,收集了很多高品质字体供网页设计者免费下载,还有个字体格式生成工具@font-face generator,上传一个字体文件,可以生成多种字体格式及CSS代码,非常有用。如果你需要一些优秀的免费英文字体,这是个好去处。

  想要丰富多彩的页面就需要有更多的字体样式,人们想出了很多字体替代方案,除了@font-face方案外还有sIFR、Cufon、Typeface.js等,还有.webfont,简单说,.webfont 就是在字体中嵌入了访问许可表,浏览器可以读出这些许可信息,并决定是否应该下载和渲染这些字体。另外还有Typekit也是一种值得关注的方案,将字体放在第三方服务器上供调用。这些方案的优缺点,将会在以后做详细的介绍。

相关文章

  • 详解CSS3中字体平滑处理和抗锯齿渲染

    本篇文章主要介绍了CSS3中字体平滑处理和抗锯齿渲染,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-03-29
  • CSS3字体效果的设置方法小结

    这篇文章主要介绍了CSS3字体效果的设置方法小结,包括阴影效果、省略号代替以及嵌入字体,需要的朋友可以参考下
    2016-06-13
  • 轻松掌握CSS3中的字体大小单位rem的使用方法

    rem是css3新定义的设置字体大小属性,rem大小都是以html的字体大小设置为参考值进行一个字体大小缩放,下面就带大家来轻松掌握CSS3中的字体大小单位rem的使用方法:
    2016-05-24
  • 使用CSS3的font-face字体嵌入样式的方法讲解

    CSS3中的font-face可以将我们上传的自定义的字体显示出来,有时比如我们要显示英文音标的字体时便需要用到,本文就整理了一下使用CSS3的font-face字体嵌入样式的方法讲解,需
    2016-05-13
  • CSS3 text shadow字体阴影效果

    最近在整理学习CSS3的一些小知识,现在已经整理了CSS3选择器,CSS3圆角和CSS3元素阴影属性的使用方法了。今天为大家整理一下CSS3中的字体阴影——text-shadow的使用方法。
    2016-01-08
  • 一款纯css3实现的颜色渐变按钮的代码教程

    今天给大家分享一款纯css3实现的颜色渐变按钮,这款按钮的边框和文字的颜色通过css3实现两种颜色的渐变,清新淡雅,效果非常好看,需要的朋友可以参考下
    2014-11-12
  • css3 自定义字体font-face使用介绍

    这篇文章主要介绍了css3 自定义字体font-face使用,需要的朋友可以参考下
    2014-05-14
  • CSS3用@font-face实现自定义英文字体

    传说中的CSS3基本上什么都可以,那么CSS3中可不可以自定义英文字体呢?答案是非常可以。用@font-face即可实现自定义英文字体,下面有个不错的示例,感兴趣的朋友可以了解下
    2013-09-23
  • CSS3+font字体文件实现圆形半透明菜单具体步骤(图解)

    今天就从一个简单的圆形菜单的实现,使用CSS3+font字体文件实现圆形菜单,下面来总结一些最近学习的收获,感兴趣的朋友可以参考下哈
    2013-06-03
  • css3一款3D字体带阴影效果的实现步骤

    3D字体而且还带有阴影,这种效果想必大家只有认为一些高级的作图工具才可以实现的吧,css3的出现让这一切看似不可能的实现成为可能,接下来为大家介绍下3D字体带阴影效果的
    2013-03-20

最新评论