我目前正在尝试在我构建的网站上实现webfonts,我想在font-family属性中使用它作为后备,即如果字符不是用Arial / Helvetica表示的,那么它应该在所使用的webfont中。
我意识到这不能在IE6和7中工作,但我希望它能在IE8中工作,但它似乎不太好用。
我想知道是否有人有过这个问题的经验,是否可以在IE8中使用webfont作为备用字体,或者是否有人能看到我只是在代码中做了一些错误的事情。
提前感谢,谢谢你的帮助
下面是我的css代码:
@font-face {
font-family: 'stix';
src: url('/webfonts/webfont.eot');
src: local('☺'), url('/webfonts/webfont.woff') format('woff'), url('/webfonts/webfont.ttf') format('truetype'), url('/webfonts/webfont.svg#webfont3hGwcDt1') format('svg');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'stix';
src: url('/webfonts/bold-webfont.eot');
src: local('☺'), url('/webfonts/bold-webfont.woff') format('woff'), url('/webfonts/bold-webfont.ttf') format('truetype'), url('/webfonts/bold-webfont.svg#webfontJse4ZhT8') format('svg');
font-weight: bold;
font-style: normal;
}
@font-face {
font-family: 'stix';
src: url('/webfonts/talic-webfont.eot');
src: local('☺'), url('/webfonts/italic-webfont.woff') format('woff'), url('/webfonts/italic-webfont.ttf') format('truetype'), url('/webfonts/italic-webfont.svg#webfonthDLBqRGk') format('svg');
font-weight: normal;
font-style: italic;
}
@font-face {
font-family: 'stix';
src: url('/webfonts/bold_italic-webfont.eot');
src: local('☺'), url('/webfonts/bold_italic-webfont.woff') format('woff'), url('/webfonts/bold_italic-webfont.ttf') format('truetype'), url('/webfonts/bold_italic-webfont.svg#webfontnuMlJc7x') format('svg');
font-weight: bold;
font-style: italic;
}
body { font-family: arial, helvetica, clean, stix, sans-serif}
body.ie6 #content, body.ie6 .popup { font: 15px/1.6em stix; }发布于 2011-03-04 19:19:00
我正在使用你的代码的精简版本(为了清晰起见--它没有什么问题),并在很多浏览器中进行了测试( webfont是STIX,就像你一样,我不知道这是否起到了作用),我看到了一些奇怪的行为:在大多数浏览器中,字体回退确实可以使用,但只有在排除所有字体的斜体变体(无论是斜体还是粗体)的情况下才能工作。
也就是说,这是有效的(100%的时间),浏览器回退到STIX的那些字符不在算术:
@font-face {
font-family: 'stix';
src: url('stixgeneral-webfont.eot');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'stix';
src: url('stixgeneralbol-webfont.eot');
font-weight: bold;
font-style: normal;
}
body {font-family: arial, stix, sans-serif;}…但这并不能100%地显示(尽管有时它会显示字符!):
@font-face {
font-family: 'stix';
src: url('stixgeneral-webfont.eot');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'stix';
src: url('stixgeneralitalic-webfont.eot'); /* note - italic font variant */
font-weight: normal;
font-style: italic;
}
body {font-family: arial, stix, sans-serif;}出现这种情况的原因似乎是STIX字体包有错误。
为了解决这个问题,在FontForge中打开你的STIX字体包,保存- FontForge会通知你有错误。修复这些,然后才能导入到FontSquirrel中。字体回退现在应该可以正常工作。
发布于 2011-03-03 19:35:20
使用STIX作为后备有什么好处?
如果是为了阻止UA下载非必要的字体,你就不走运了,只有webkit的行为更糟糕,IE会下载@ https://gist.github.com/478344 -https://gist.github.com/478344中定义的所有字体,即使它们在CSS中没有被引用。
如果是因为STIX没有普通的字符,是的,IE会在这里把你搞糊涂的。我建议将STIX与免费字体合并,以创建一个包含您需要的所有字符的交付件。
发布于 2011-03-03 01:12:33
尝试在fontsquirrel.com上使用转换器
https://stackoverflow.com/questions/5170892
复制相似问题