这是一个普遍的问题,似乎有一个解决方案。 问题是网页字体在chrome中显示不连贯。解决方案应该是在.woff调用之前移动.svg调用。在此处说明:http://www.fontspring.com/blog/smoother-web-font-rendering-chrome和此处:http://www.adtrak.co.uk/blog/font-face-chrome-rendering/
问题是,我正在使用谷歌网络字体,并导入如下字体:
<link href='http://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
我不知道,也无法找到如何使用@font-face
css标签而不是上述标签导入它。我试过了,但因为谷歌只提供ttf中的字体而不是svg或woff而卡住了。
希望你能提供帮助。
答案 0 :(得分:2)
如果要应用此修复程序,则必须自己托管字体。
您的Google字体链接是对样式表的请求,该样式表可根据您提供的参数和浏览器检测动态构建。对于您的示例链接:
<link href='http://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
如果您使用curl
实际提出请求:
$ curl http://fonts.googleapis.com/css?family=Asap:400,700,400italic,700italic
这是被发回的内容:
@font-face {
font-family: 'Asap';
font-style: normal;
font-weight: 400;
src: local('Asap'), local('Asap-Regular'), url(http://themes.googleusercontent.com/static/fonts/asap/v1/-KZsao_xwBpcExaHoPH8_w.ttf) format('truetype');
}
@font-face {
font-family: 'Asap';
font-style: normal;
font-weight: 700;
src: local('Asap Bold'), local('Asap-Bold'), url(http://themes.googleusercontent.com/static/fonts/asap/v1/5DVGWnz9Skaq1amwwwGZEw.ttf) format('truetype');
}
@font-face {
font-family: 'Asap';
font-style: italic;
font-weight: 400;
src: local('Asap Italic'), local('Asap-Italic'), url(http://themes.googleusercontent.com/static/fonts/asap/v1/8YIp-EIJXA6NJdTPxy9qiQ.ttf) format('truetype');
}
@font-face {
font-family: 'Asap';
font-style: italic;
font-weight: 700;
src: local('Asap Bold Italic'), local('Asap-BoldItalic'), url(http://themes.googleusercontent.com/static/fonts/asap/v1/_sVKdO-TLWvaH-ptGimJBaCWcynf_cDxXwCLxiixG1c.ttf) format('truetype');
}
最简单的方法是返回Google网络字体,通过转here并点击下载箭头下载相关字体。
然后您可以使用suggested fix from here,引用您下载的字体文件:
@font-face {
font-family: ‘MyWebFont’;
src: url(‘webfont.eot’);
src: url(‘webfont.eot?#iefix’) format(‘embedded-opentype’),
url(‘webfont.svg#svgFontName’) format(‘svg’),
url(‘webfont.woff’) format(‘woff’),
url(‘webfont.ttf’) format(‘truetype’);
}
答案 1 :(得分:0)
您是否正确重置了所有款式?
您的不一致渲染体验可能是由浏览器默认设置引起的。
reset.css将所有元素设置回默认值,这样可以减少跨浏览器的不一致性。 reset.css有很多例子,其中最受欢迎的是meyerweb reset css。 减少不一致的另一种方法是使用normalize.css。
两种方法之间的区别在于,reset.css只是重置所有浏览器特定的样式,而normalize.css通过创建跨浏览器默认值具有更广泛的范围。
normalize.css的开发人员解释了here之间的差异。
如果所有这些链接都无法确保您始终将font-weight设置为right,则导入所有必需的字体权重。
您可以在此处阅读有关字体权重的信息:http://css-tricks.com/watch-your-font-weight/ 您还应该在使用normalize.ccs时应用此技术,因为它不会像rest.css那样重置font-weight。
答案 2 :(得分:-1)
将其添加到每个元素的样式表中。
opacity: .99;
例如 -
p, li {
opacity: .99;
}
我不知道为什么会这样,但确实如此。