有没有一种方法可以在网站上添加一些自定义字体,而不使用图像,Flash或其他图形?
例如,我在一个婚礼网站上工作,我为这个主题找到了很多漂亮的字体。但是我找不到在服务器上添加那种字体的正确方法。我如何将CSS字体包含到HTML中?如果没有图像,这可能吗?
有没有一种方法可以在网站上添加一些自定义字体,而不使用图像,Flash或其他图形?
例如,我在一个婚礼网站上工作,我为这个主题找到了很多漂亮的字体。但是我找不到在服务器上添加那种字体的正确方法。我如何将CSS字体包含到HTML中?如果没有图像,这可能吗?
当前回答
《IE中的字体面:让Web字体正常工作》一文中说,它适用于所有三种主要浏览器。
这是我得到的一个工作样本:http://brendanjerwin.com/test_font.html
更多的讨论在嵌入字体中。
其他回答
W3C为此推荐的技术称为“嵌入”,这里有三篇文章对其进行了详细描述:嵌入字体。在我有限的实验中,我发现这个过程容易出错,而且在多浏览器环境中使用它的成功程度有限。
或者你可以试试sIFR。我知道它使用Flash,但只有在可用的情况下。如果Flash不可用,它将以原始(CSS)字体显示原始文本。
简单的解决方法是在CSS中使用@fontface
@font-face {
font-family: myFirstFont;
src: url(fileLocation);}
div{
font-family: myfirstfont;}
如果您有一个字体文件,那么您将需要为其他浏览器添加该字体的更多格式。
出于这个目的,我使用Fontsquirrel这样的字体生成器,它提供了所有的字体格式和它的@font-face CSS,你只需要将它拖放到你的CSS文件中。
如果你说的非标准字体,你指的是标准格式的自定义字体,下面是我怎么做的,它适用于我目前为止检查过的所有浏览器:
@font-face {
font-family: TempestaSevenCondensed;
src: url("../fonts/pf_tempesta_seven_condensed.eot") /* EOT file for IE */
}
@font-face {
font-family: TempestaSevenCondensed;
src: url("../fonts/pf_tempesta_seven_condensed.ttf") /* TTF file for CSS3 browsers */
}
所以你只需要TTF和eot字体。网上的一些工具可以进行转换。
但如果你想附加非标准格式的字体(位图等),我不能帮助你。