我正在为某人开发一个网站,但他们希望(坚持)标题采用非标准字体。(客户永远是对的。)我有 TrueType (.ttf) 字体,但我如何将它与网站捆绑以便它使用它?
我尝试将其放入 Images 文件夹并尝试使用样式表访问它:
font-family:URL(Images/Arial_Rounded_MT_Bold.ttf)
但这没有用。如何以呈现的方式包含非标准字体?
如果有用,这是一个 ASP.NET 2.0 站点。
目前没有标准的方法来做到这一点。您可以使用@font-face,但并非所有浏览器都支持它。正如Lance所提到的,这是查找主流浏览器支持参考的好地方。
正在努力使这类事情标准化。Web 开放字体格式(WOFF) 就是这样的努力。看起来这甚至可能在未来被主流浏览器采用。我们将不得不拭目以待。
现在,您能做的最好的事情就是像往常一样引用您的字体,但在此之后添加一个默认(标准)字体。
font-family: "Arial Rounded MT Bold", "Times New Roman", Serif
你有两个选择:
将您的 TrueType 字体转换为 Embedded OpenType 字体(很简单!),这样您就有了两个字体文件:
Arial_Rounded_MT_Bold.ttf
Arial_Rounded_MT_Bold.eot
然后让你的 CSS 看起来像这样:
@font-face {
font-family: 'Arial Rounded Bold';
src: url('Arial_Rounded_MT_Bold.eot');
}
@font-face {
font-family: 'Arial Rounded Bold';
src: url('Arial_Rounded_MT_Bold.ttf') format('truetype');
}
h1.title {
font-family: 'Arial Rounded Bold', serif;
}
多亏了 Internet Explorer,EOT 规范需要放在首位,在一个单独的@font-face
块中并且没有format
属性。更多信息在这里。
享受!
你有很多选择,没有一个是完美的。Smashing Magazine 有一篇关于丰富字体的精彩文章——其中大部分涉及闪存/图像替换。
http://www.smashingmagazine.com/2009/10/22/rich-typography-on-the-web-techniques-and-tools/
与网站一起分发字体的主题有相当多的活动,但它通常处于实验阶段,不适用于绝大多数正在使用的浏览器。几年后您可能可以做到这一点,但目前您必须使用图像或sIFR。