有没有一种方法可以在网站上添加一些自定义字体,而不使用图像,Flash或其他图形?

例如,我在一个婚礼网站上工作,我为这个主题找到了很多漂亮的字体。但是我找不到在服务器上添加那种字体的正确方法。我如何将CSS字体包含到HTML中?如果没有图像,这可能吗?


当前回答

我发现在网站上使用非标准字体最简单的方法是使用sIFR

它确实涉及到包含字体的Flash对象的使用,但如果没有安装Flash,它会很好地降级为标准文本/字体。

样式在CSS中设置,JavaScript为文本设置Flash替换。

编辑:(我仍然建议使用非标准字体的图像,因为sIFR会增加项目的时间,并且可能需要维护)。

其他回答

字体.js和Cufon是另外两个有趣的选项。它们是JavaScript组件,通过除Internet Explorer以外的所有新浏览器中的<canvas>元素和Internet Explorer中的VML以JSON格式呈现特殊字体数据(您可以在其网站上从TrueType或OpenType格式转换)。

两者的主要问题(到目前为止)都是选择文本不工作,或者至少工作起来相当笨拙。

尽管如此,它还是很适合做头条新闻。正文……我不知道。

而且速度惊人。

这可以通过CSS来完成:

<style type="text/css">
@font-face {
    font-family: "My Custom Font";
    src: url(http://www.example.org/mycustomfont.ttf) format("truetype");
}
p.customfont { 
    font-family: "My Custom Font", Verdana, Tahoma;
}
</style>
<p class="customfont">Hello world!</p>

如果你使用TrueType-Fonts (TTF), Web Open Font Format (WOFF)或Embedded Opentype (EOT),所有常规浏览器都支持它。

我发现在网站上使用非标准字体最简单的方法是使用sIFR

它确实涉及到包含字体的Flash对象的使用,但如果没有安装Flash,它会很好地降级为标准文本/字体。

样式在CSS中设置,JavaScript为文本设置Flash替换。

编辑:(我仍然建议使用非标准字体的图像,因为sIFR会增加项目的时间,并且可能需要维护)。

我做了一些研究,找到了动态文本替换(发布于2004-06-15)。

这项技术使用图像,但它似乎是“解放双手”。您编写文本,然后让一些自动脚本在页面上自动执行查找和替换操作。

它有一些限制,但它可能是我所见过的最简单的选择之一(而且更兼容浏览器)。

请参阅文章《美丽网页排版的50个有用的设计工具》以获得其他方法。

我只用过Cufon。我发现它很可靠,很容易使用,所以我一直用它。