有没有一种方法可以在网站上添加一些自定义字体,而不使用图像,Flash或其他图形?
例如,我在一个婚礼网站上工作,我为这个主题找到了很多漂亮的字体。但是我找不到在服务器上添加那种字体的正确方法。我如何将CSS字体包含到HTML中?如果没有图像,这可能吗?
有没有一种方法可以在网站上添加一些自定义字体,而不使用图像,Flash或其他图形?
例如,我在一个婚礼网站上工作,我为这个主题找到了很多漂亮的字体。但是我找不到在服务器上添加那种字体的正确方法。我如何将CSS字体包含到HTML中?如果没有图像,这可能吗?
当前回答
您可以通过谷歌Web字体添加一些字体。
从技术上讲,字体驻留在谷歌,您可以将它们链接到HTML标头中。然后,你可以在CSS中使用@font-face(阅读它)自由使用它们。
例如:
在<head>节中:
<link href=' http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>
然后在CSS中:
h1 { font-family: 'Droid Sans', arial, serif; }
这个解决方案似乎相当可靠(甚至Smashing Magazine也用它作为文章标题)。然而,目前谷歌字体目录中可用的字体并不多。
其他回答
您可以通过谷歌Web字体添加一些字体。
从技术上讲,字体驻留在谷歌,您可以将它们链接到HTML标头中。然后,你可以在CSS中使用@font-face(阅读它)自由使用它们。
例如:
在<head>节中:
<link href=' http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/css'>
然后在CSS中:
h1 { font-family: 'Droid Sans', arial, serif; }
这个解决方案似乎相当可靠(甚至Smashing Magazine也用它作为文章标题)。然而,目前谷歌字体目录中可用的字体并不多。
如果您有一个字体文件,那么您将需要为其他浏览器添加该字体的更多格式。
出于这个目的,我使用Fontsquirrel这样的字体生成器,它提供了所有的字体格式和它的@font-face CSS,你只需要将它拖放到你的CSS文件中。
Safari和Internet Explorer都支持CSS @font-face规则,但是它们支持两种不同的嵌入式字体类型。Firefox计划在不久的将来支持与Apple相同的类型。SVG可以嵌入字体,但还没有得到广泛支持(没有插件)。
我认为我所见过的最可移植的解决方案是使用JavaScript函数将标题等替换为生成的图像,并使用你所选择的字体缓存在服务器上——这样你就可以简单地更新文本,而不必在Photoshop中进行处理。
如果你说的非标准字体,你指的是标准格式的自定义字体,下面是我怎么做的,它适用于我目前为止检查过的所有浏览器:
@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字体。网上的一些工具可以进行转换。
但如果你想附加非标准格式的字体(位图等),我不能帮助你。
我发现在网站上使用非标准字体最简单的方法是使用sIFR
它确实涉及到包含字体的Flash对象的使用,但如果没有安装Flash,它会很好地降级为标准文本/字体。
样式在CSS中设置,JavaScript为文本设置Flash替换。
编辑:(我仍然建议使用非标准字体的图像,因为sIFR会增加项目的时间,并且可能需要维护)。