css引用字体问题

html-css0147

css引用字体问题,第1张

css引用字体问题

在CSS中通过@font-face属性来实现网页中嵌入特殊字体。

首先获取要使用字体的三种文件格式.EOT、.TTF或.OTF、.SVG,确保能在主流浏览器中都能正常显示该字体。

.EOT,适用于Internet Explorer 4.0+

.TTF或.OTF,适用于Firefox 3.5、Safari、Opera

.SVG,适用于Chrome、IPhone

最常见的是.TTF文件,需要通过这种文件格式转换为其余两种文件格式。

在css中进行如下声明:

@font-face {

font-family: 'fontNameRegular'

src: url('fontName.eot')

src: local('fontName Regular'),

local('fontName'),

url('fontName.woff') format('woff'),

url('fontName.ttf') format('truetype'),

url('fontName.svg#fontName') format('svg')

}

/*其中fontName替换为你的字体名称*/

在css中使用这个字体

h1{font-family: fontNameRegular}

尝试着用办双引号去掉或者把

字体设置成font-family:'Microsoft YaHei'页面出现的问题就解决了,font-family:'雅黑'此种写法IE6.0不兼容。

1、font-family属性可以为标签设置字体,浏览器会从左至右依次查找是否有该字体,并将找到的第一个字体用于显示。如果没找到,则使用默认字体(Windows XP简体中文版一般是宋体)。

2、但还有个未定义行为,若找到的第一个是英文字体,而要显示汉字时,应该如何处理。Chrome和Firefox是继续往后查,直到找到能正确显示的字体;而IE(我只测试了IE6)则直接改用默认字体显示汉字了。

3、目前我只能用CSS hack的方法来判断(即只有IE能识别*开头的属性),但也只是提前了中文字体,英文字体就无效了:

body { font-family:Verdana,微软雅黑*font-family:微软雅黑,Verdana}

4、此外,有时候找到的字体无法显示特殊符号,IE就用方框来显示了,非常无语。

例如音乐符号:&#9834

如果你装了微软雅黑字体,那么在IE下看到的会是个方框,但Chrome和Firefox下正常。

5、font:在一个声明中设置所有字体属性;

font有以下几个属性:

font-style:字体样式

font-variant:字体异体

font-weight:字体粗细

font-size/line-height:字体大小/行高

font-family:字体系列(比如宋体、黑体等)

6、设定字体为微软雅黑 Bold字体"就可以写为:font-family:"微软雅黑"font-weight:bold