我正在开发一个需要在线进行字体试用的网站,我所拥有的字体都是.otf
有没有办法嵌入字体并让它们在所有浏览器上运行?
如果没有,我还有其他选择吗?
答案 0 :(得分:627)
您可以使用@ font-face实现OTF
字体,如:
@font-face {
font-family: GraublauWeb;
src: url("path/GraublauWeb.otf") format("opentype");
}
@font-face {
font-family: GraublauWeb;
font-weight: bold;
src: url("path/GraublauWebBold.otf") format("opentype");
}
但是,如果您想支持各种各样的现代浏览器,我建议您切换到WOFF
和TTF
字体类型。 WOFF
类型由每个主要桌面浏览器实现,而TTF
类型是旧版Safari,Android和iOS浏览器的后备版。如果您的字体是免费字体,则可以使用例如onlinefontconverter转换字体。
@font-face {
font-family: GraublauWeb;
src: url("path/GraublauWebBold.woff") format("woff"), url("path/GraublauWebBold.ttf") format("truetype");
}
如果您想支持几乎所有仍在那里的浏览器(不再需要恕我直言),您应该添加更多字体类型,如:
@font-face {
font-family: GraublauWeb;
src: url("webfont.eot"); /* IE9 Compat Modes */
src: url("webfont.eot?#iefix") format("embedded-opentype"), /* IE6-IE8 */
url("webfont.woff") format("woff"), /* Modern Browsers */
url("webfont.ttf") format("truetype"), /* Safari, Android, iOS */
url("webfont.svg#svgFontName") format("svg"); /* Legacy iOS */
}
您可以详细了解实施所有这些类型的原因及其攻击here。要详细了解哪些浏览器支持哪些文件类型,请参阅:
希望这会有所帮助
答案 1 :(得分:41)
@font-face {
font-family: 'Tangerine';
font-style: normal;
font-weight: normal;
src: local('Tangerine'), url('http://example.com/tangerine.ttf') format('truetype');
}
body {
font-family: 'Tangerine', serif;
font-size: 48px;
}
这可以与.ttf交叉浏览器,我相信它可以与.otf一起使用。 (Wikipedia说.otf主要向后兼容.ttf)如果没有,你可以{。{3}} .otf到.ttf
以下是一些不错的网站:
好的入门书:
其他信息: