在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