欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

关于css的字体设置font-famliy多值显示规则,微软雅黑侵权问题,微软雅黑不生效问题

程序员文章站 2024-01-04 21:41:10
...

今天由于其他公司因为微软雅黑字体的版权问题罚款,我们总监开始问我关于字体设置的一些问题,通过查阅资料,记录下相关重点。如果有不对的地方,望同仁指正!
文章主要描述字体的多项设置规则,以及版权问题

一、font-famliy字体设置规则

常用的字体设置:
body,h1,h2,h3,h4,h5,h6{
	font-family: "Helvetica Neue", "Luxi Sans", "DejaVu Sans", Tahoma, "Hiragino Sans GB", STHeiti, "Microsoft YaHei", sans-serif;
}

注意:定义font-family时,最好在最后加一个sans-serif,这样如果所列出的字体都不能用,则默认的sans-serif字体能保证调用。

显示规则总结:
  • 从第一个向右识别,当系统字体(windows系统字体、mac系统字体)中有这个字体,则显示此字体,并且,同一台电脑所有浏览器显示相同。
  • 如果没有这些字体,则会显示浏览器的默认字体,这种情况下,所有的浏览器用的默认字体就不一致了!
  • 所以给body设置那么多字体,就是为了保证满足所有的系统,包括mac,window
  • 当系统识别到能用的字体,便不会再向后查
  • 当识别到的字体是拉丁文字体,比如Tahoma,即只对字母数字符号有作用的字体设置,会生效,但也会继续向后检测,直到识别到对中文字符的字体设置。注意,如果先设置了中文字体,包含了中英文及字符的设置,则会停止向后识别,后面设置的拉丁文字体就不会生效。

字体分为有衬线字体、无衬线字体

  • sans-serif (我们常用的字体格式)没有这些额外的装饰,笔划粗细大致差不多
  • serif 在字的笔划开始及结束的地方有额外的装饰,而且笔划的粗细会因直横的不同而有不同(就是写某个字开始和结尾的那一笔,带上卷卷)

注意:定义font-family时,最好在最后加一个sans-serif,这样如果所列出的字体都不能用,则默认的sans-serif字体能保证调用。

二、微软雅黑字体的侵权问题 – Microsoft YaHei

网站上使用“微软雅黑”字体有三种形式:

  1. 图片中使用“微软雅黑”字体,比如网站头图;
  2. 网站CSS用font-family声明网站使用“微软雅黑”字体,比如文章标题和正文;
  3. 网站通过@font-face引用“微软雅黑”,这种方式不常见。

三种形式只有一种不会设计侵权:

  • 第一种情况,图片上使用“微软雅黑”字体,肯定涉及版权问题。
  • 第二种情况,网站代码只了CSS声明,“微软雅黑”字体的文件是用户的客户端提供的,如果客户端电脑有“微软雅黑”字体,就会显示“微软雅黑”样式,如果客户端电脑用了是Windows XP系统,或者英文操作系统没有“微软雅黑”字体,那么会显示宋体。这种方式不会涉及到版权问题。
  • 第三种情况,这种方式相当于把“微软雅黑”字体文件上传到网站服务器,它会 在需要的时候下载到客户端电脑,即便是WinXP客户端观看网页,或者没有“微软雅黑”字体的英文操作系统,网页 依然会显示微软雅黑 字体样式,这种方式会涉及版权问题。

三、微软雅黑不生效问题

建议使用font-family: “Microsoft YaHei”;
支持UTF-8和GB2312字符集。

不生效的3种情况:
  1. 当此属性定义的是全局样式时,对于表单类的标签就不会生效,还需要再次定义如:
    body {font-family: “Microsoft YaHei”;}对表单input就不生效,
    还需要定义一个input {font-family: “Microsoft YaHei”;}才可以。
  2. 本地计算机不存在微软雅黑字体,有的系统默认没有微软雅黑,则一般默认为宋体,只要下载一个微软雅黑字体,安装后即可。
  3. 还有一个是字符集问题,建议把中文font-family:" 微软雅黑";改为font-family: “Microsoft YaHei”;字符集申明一下UTF-8或GB2312。

上一篇:

下一篇: