Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何为网站添加一些非标准字体?_Html_Css_Fonts_Font Face - Fatal编程技术网

Html 如何为网站添加一些非标准字体?

Html 如何为网站添加一些非标准字体?,html,css,fonts,font-face,Html,Css,Fonts,Font Face,有没有办法在网站上添加一些自定义字体而不使用图像或其他图形 例如,我在一个婚礼网站上工作,我发现了很多关于这个主题的漂亮字体。但是我找不到在服务器上添加该字体的正确方法。我如何将带有CSS的字体包含到HTML中?这可以不用图形吗?或者您可以试试。我知道它使用Flash,但只有在可用的情况下。如果Flash不可用,它将以其原始(CSS)字体显示原始文本。我发现在网站上使用非标准字体的最简单方法是使用 它确实涉及使用包含字体的Flash对象,但如果未安装Flash,它会很好地退化为标准文本/字体 样

有没有办法在网站上添加一些自定义字体而不使用图像或其他图形


例如,我在一个婚礼网站上工作,我发现了很多关于这个主题的漂亮字体。但是我找不到在服务器上添加该字体的正确方法。我如何将带有CSS的字体包含到HTML中?这可以不用图形吗?

或者您可以试试。我知道它使用Flash,但只有在可用的情况下。如果Flash不可用,它将以其原始(CSS)字体显示原始文本。

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

它确实涉及使用包含字体的Flash对象,但如果未安装Flash,它会很好地退化为标准文本/字体

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


编辑:(我仍然建议对非标准字体使用图像,因为sIFR会给项目增加时间,并且可能需要维护)。这可以通过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>

@字体{
字体系列:“我的自定义字体”;
src:url(http://www.example.org/mycustomfont.ttf)格式(“truetype”);
}
p、 自定义字体{
字体系列:“我的定制字体”,Verdana,Tahoma;
}

你好,世界


如果您使用TrueType字体(TTF)、Web开放字体格式(WOFF)或嵌入式Opentype(EOT),则会出现这种情况。

它看起来只适用于Internet Explorer,但在谷歌上快速搜索“html嵌入字体”会产生效果


如果你想保持平台无关性(你应该这么做!),你必须使用图像,或者只使用标准字体。

W3C推荐的实现这一点的技术称为“嵌入”,这里的三篇文章对此进行了详细描述:。在我有限的实验中,我发现这个过程容易出错,并且在多浏览器环境中使其正常工作的成功率有限。

Safari和Internet Explorer都支持CSS@font-face规则,但它们支持两种不同的嵌入式字体类型。Firefox计划在不久的将来支持与苹果相同的类型。SVG可以嵌入字体,但还没有得到广泛支持(没有插件)


我认为我所见过的最可移植的解决方案是使用JavaScript函数来替换标题等,使用您选择的字体在服务器上生成并缓存的图像——这样您只需更新文本,而不必在Photoshop中到处乱写。

如果您使用ASP.NET,生成基于图像的字体非常容易,无需在服务器上安装字体(如添加到已安装的字体库中),方法是使用:

PrivateFontCollection pfont = new PrivateFontCollection();
pfont.AddFontFile(filename);
FontFamily ff = pfont.Families[0];

然后用这种字体在一个
图形上画图

我做了一些研究并进行了挖掘(发表于2004-06-15)

这项技术使用图像,但似乎“免提”。您编写文本,并让一些自动脚本在页面上动态地自动查找和替换

它有一些局限性,但它可能是我见过的所有其他浏览器中比较容易选择的一种(并且更兼容浏览器)。

文章说它适用于所有三种主要浏览器

以下是我工作时得到的一个示例:

还有更多的讨论。

还有另外两个有趣的选择。它们是JavaScript组件,通过除InternetExplorer和InternetExplorer之外的所有较新浏览器中的新元素以JSON格式(您可以从JSON格式或在其网站上转换格式)呈现特殊字体数据

这两者的主要问题(到目前为止)是选择文本不起作用,或者至少只起到相当尴尬的作用

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

而且速度惊人。

有关其他方法,请参阅文章


我只使用过一次。我发现它可靠且易于使用,所以我一直坚持使用它。

Typeface.js JavaScript方式:

使用typeface.js,您可以嵌入自定义 网页中的字体,这样您就不会 必须将文本渲染为图像

而不是创建图像或使用 flash只是为了显示站点的图形 您可以使用所需字体的文本 typeface.js并用普通HTML编写 和CSS,就好像你的访问者 本地安装的字体


您可以通过添加一些字体

从技术上讲,这些字体由谷歌托管,你可以将它们链接到HTML标题中。然后,您可以使用()在CSS中自由使用它们

例如:

部分:

 <link href=' http://fonts.googleapis.com/css?family=Droid+Sans' rel='stylesheet' type='text/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两种字体。一些在线可用的工具可以进行转换


但是,如果您想附加非标准格式的字体(位图等),我无法帮助您。

也可以使用WOFF字体-示例


方法是使用@font-face CSS声明,允许作者指定在线字体以在其网页上显示文本。通过允许作者提供自己的字体,@font-face无需依赖用户在其计算机上安装的有限数量的字体

请看下表:

如您所见,由于跨浏览器的兼容性,您需要了解几种格式。移动设备中的情况没有太大不同

解决: 1-完全浏览器兼容性

这是目前可能得到最深支持的方法:

@font-face{
字体系列:“MyWebFont”;
src:url('webfont.eot');/*IE9兼容模式*/
src:url('webfont.eot?#iefix')格式('embedded-opentype'),/*IE6-IE8*/
url('webfont.woff')格式('woff'),/*Mo
@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 */
}
@font-face {
font-family: 'Plakat Fraktur';
src: url('/resources/fonts/plakat-fraktur-black-modified.woff') format('woff');
font-weight: bold;
font-style: normal;
 }
@font-face {
  font-family: 'MyWebFont';
  src: url('myfont.woff') format('woff'), /* Chrome 6+, Firefox 3.6+, IE 9+, Safari 5.1+ */
       url('myfont.ttf') format('truetype'); /* Chrome 4+, Firefox 3.5, Opera 10+, Safari 3—5 */
}
body {
  font-family: 'MyWebFont', Fallback, sans-serif;
}
<!DOCTYPE html>
<html>
<head>
<link href='https://fonts.googleapis.com/css?family=Montserrat'   rel='stylesheet'>
<style>
body {
font-family: 'Montserrat';font-size: 22px;
}
</style>
</head>
<body>

<h1>Montserrat</h1>
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>


</body>
</html>
@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");
}