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

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


当前回答

《IE中的字体面:让Web字体正常工作》一文中说,它适用于所有三种主要浏览器。

这是我得到的一个工作样本:http://brendanjerwin.com/test_font.html

更多的讨论在嵌入字体中。

其他回答

JavaScript方式:

使用字体.js你可以嵌入自定义 你的网页字体,这样你就不会 必须将文本渲染为图像 而不是创造图像或使用 Flash只是为了显示你的网站的图形 文本用你想要的字体,你可以使用 用纯HTML编写 和CSS,就像你的访问者一样 字体在本地安装。

http://typeface.neocracy.org/

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

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

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

这可以通过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会增加项目的时间,并且可能需要维护)。

@font-face {
font-family: "CustomFont";
src: url("CustomFont.eot");
src: url("CustomFont.woff") format("woff"),
url("CustomFont.otf") format("opentype"),
url("CustomFont.svg#filename") format("svg");
}