css引用字体问题

html-css017

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}

通过<img />标签

这可能是最简单的使用SVG的方法,而且是开发者最熟悉的方法。SVG文件能够像位图一样通过<img />标签在网页上使用。

缺点是:SVG图像可能包含动画,但链接里面的文件和任何脚本和交互的SVG代码部分将被忽略。

通过CSS

可以通过CSS来有效的使用SVG:像位图一样,SVG文件能够通过background-image实现来渲染。

通过@font-face作为字体使用

大多数字体都是矢量图形,SVG可以通过CSS来作为文字嵌入到网页中,从而替代.woft、.otf 和 .eof 格式的文字。代码像下面这样:

@font-face {font-family: GabbaGrabbaurl('gabbagabba.otf’) format('opentype’),url('gabbagabba.svg#gabba’) format('svg’)}

因为它们缺乏真正的字体控制如字距和有限的浏览器支持,应该在使用SVG文字时给它们一个回退的方法。