页面显示LCD液晶字体,特殊字体,@font-face属性详细用法,配图

来源:互联网 发布:腾讯云与阿里云对比 编辑:程序博客网 时间:2024/06/06 13:06

如果web项目中需要用到LCD液晶字体显示数值(如下图所示)该怎么办?

这里写图片描述

在这就需要用到@font-face(具体看一下语法)

/* 定义 */@font-face {    font-family: 'MicrosoftYaHei';    src: url('MicrosoftYaHei.eot'); /* IE9 Compat Modes */    src: url('MicrosoftYaHei.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */             url('MicrosoftYaHei.woff') format('woff'), /* Modern Browsers */             url('MicrosoftYaHei.ttf')  format('truetype'), /* Safari, Android, iOS */             url('MicrosoftYaHei.svg#MicrosoftYaHei') format('svg'); /* Legacy iOS */   }/* 使用 */body{  font-family: "MicrosoftYaHei";}

我们来看一下详细语法规则

这里写图片描述

/* 定义字体 */@font-face {      font-family: <YourWebFontName>;      src: <source> [<format>][,<source> [<format>]]*;      [font-weight: <weight>];      [font-style: <style>];    }/*自定义字库名称(一般设置为所引入的字库名),后续样式规则中则通过该名称来引用该字库。*/ font-family: <YourWebFontName> : /*设置字体的加载路径和格式,通过逗号分隔多个加载路径和格式*/ src/*字体的加载路径,可以是绝对或相对URL。*/ srouce/*字体的格式,主要用于浏览器识别,一般有以下几种——truetype,opentype,truetype-aat,embedded-opentype,avg等。*/ format/* font-weight 和 font-style 和之前使用的是一致的。*/ font-weight: font-style:/*src属性后还有一个 local(font name) 字段,表示从用户系统中加载字体,失败后才加载webfont。*/src: local(font name), url("font_name.ttf")

说了这么多,那如何获得LCD字体呢?

到 dafont下载.ttf格式字体,然后通过fontconverter或者fontsquirrel.com来生成.woff等格式的字体。

这里写图片描述

如图找到所需字体,点击右边的download下载,下载的是压缩包,需解压

这里写图片描述

将解压后的.ttf文件通过fontconverter工具转换成.woff文件格式,将转换后的压缩包解压,解压后的文件都放到项目中,在.css文件中引用该文件地址,按上诉的语法写即可

这里写图片描述

兼容性问题

对于@font-face而言,兼容性问题就是各浏览器所能识别的字体格式不尽相同。
TrueType格式(.ttf)
Windows和Mac上常见的字体格式,是一种原始格式,因此它并没有为网页进行优化处理。
 浏览器支持:IE9+,FireFox3.5+,Chrome4.0+,Safari3+,Opera10+,IOS Mobile Safari4.2+
OpenType格式(.otf)
 以TrueType为基础,也是一种原始格式,但提供更多的功能。

 浏览器支持:FireFox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,IOS Mobile Safari4.2+
Web Open Font格式(.woff)
 针对网页进行特殊优化,因此是Web字体中最佳格式,它是一个开放的TrueType/OpenType的压缩版,同时支持元数据包的分离。

 浏览器支持:IE9+, FireFox3.5+, Chrome6+, Safari3.6+,Opera11.1+
Embedded Open Type格式(.eot)
IE专用字体格式,可以从TrueType格式创建此格式字体。
 浏览器支持:IE4+

SVG格式(.svg)
基于SVG字体渲染的格式。
浏览器支持:Chrome4+, Safari3.1+, Opera10.0+, IOS Mobile Safari3.2+

为解决兼容性问题,Paul Irish写了称为Bulletproof的一个独特的@font-face语法:

 @font-face {    font-family: 'YourWebFontName';    src: url('YourWebFontName.eot'); /* IE9 Compat Modes */    src: url('YourWebFontName.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */             url('YourWebFontName.woff') format('woff'), /* Modern Browsers */             url('YourWebFontName.ttf')  format('truetype'), /* Safari, Android, iOS */             url('YourWebFontName.svg#YourWebFontName') format('svg'); /* Legacy iOS */   }

注意事项

  1. @font-face遵循先定义后使用原则;

  2. 由于中文字体太大,因此建议若中文LOGO还是使用图片。而英文LOGO则可使用@font-face代替图片;

  3. @font-face无效有可能是字体的加载路径错误;

  4. FireFox中@font-face的字体加载路径使用相对路径时,可能会失败,具体原因和解决办法如下:
    a). 使用绝对路径可解决问题;

    b). 在file uri scheme的情况下(file:///),由于FireFox默认的file uri origin策略十分严格,不同路径等级则无法访问。所以相对路径被视为跨域操作,因此字库加载失败。可通过 about:config 进入浏览器设置界面,然后将 security.fileuri.strict_origin_policy 设置为false即可;

    c). 在http/https uri scheme的情况下(http:///或https:///),则需要对.eot、.ttf和.woff等字体文件的响应头中加入 Access-Control-Allow-Origin: * ,从而允许跨域请求。

原创粉丝点击