如何在HTML网站上安装自定义字体


153

我没有使用Flash或php-有人要求我将自定义字体添加到简单的HTML布局中。“ KG June Bug”

我已经在本地下载了-是否有简单的CSS技巧来完成此操作?

Answers:


276

是的,您可以使用名为@ font-face的CSS功能。它仅在CSS3中得到正式批准,但在CSS2中提出并实现,并在IE中得到了很长时间的支持。

您可以像这样在CSS中声明它:

 @font-face { font-family: Delicious; src: url('Delicious-Roman.otf'); } 
 @font-face { font-family: Delicious; font-weight: bold; src: url('Delicious-Bold.otf');}

然后,您可以像其他标准字体一样引用它:

 h3 { font-family: Delicious, sans-serif; }

所以在这种情况下

<html>
   <head>
    <style>
      @font-face { font-family: JuneBug; src: url('JUNEBUG.TTF'); } 
      h1 {
         font-family: JuneBug
      }
    </style>
   </head>
   <body>
      <h1>Hey, June</h1>
   </body>
</html>

而且您只需要将JUNEBUG.TFF放在与html文件相同的位置即可。

我从dafont.com网站下载了该字体:

http://www.dafont.com/junebug.font


1
对不起,如果它的“功课”会是什么代码样子,如果我用的只是纯文本这个六月虫字体
亚当

我不知道你能做到 它也可以在其他浏览器中使用吗?
Julien Bourdon

1
可在任何合适的浏览器中使用:webfonts.info/wiki/index.php?title=@font
Nicolas Modrzyk

对我不起作用,我的字体与我的php页面位于同一文件夹中。
黑色

1
指定的@Black路径url是相对于CSS文件所在的位置。
Alex Semeniuk

17

为了获得最佳的浏览器支持,您的CSS代码应如下所示:

@font-face {
  font-family: 'MyWebFont';
  src: url('webfont.eot'); /* IE9 Compat Modes */
  src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('webfont.woff2') format('woff2'), /* Super Modern Browsers */
       url('webfont.woff') format('woff'), /* Pretty Modern Browsers */
       url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

body {
  font-family: 'MyWebFont', Fallback, sans-serif;
}

欲了解更多信息,请参阅文章使用@字体面CSS-tricks.com


17

您可以在大多数现代浏览器中使用@ font-face。

以下是一些有关其工作原理的文章:

这是将字体添加到您的应用程序的良好语法:

这里有几个地方可以转换字体以供@ font-face使用:

如果您不想使用字体,cufon也可以使用,并且在网站上有很好的文档:


9

试试这个

@font-face {  
    src: url(fonts/Market_vilis.ttf) format("truetype");
}
div.FontMarket { 
    font-family:  Market Deco;
}
 <div class="FontMarket">KhonKaen Market</div>

vilis.org


4

如果使用外部样式表,则代码可能如下所示:

@font-face { font-family: Junebug; src: url('Junebug.ttf'); } 
.junebug { font-family: Junebug; font-size: 4.2em; }

并且应保存在单独的.css文件中(例如,styles.css)。如果您的.css文件位于与页面代码不同的位置,则实际字体文件应与.css文件具有相同的路径,而不是.html或.php网页文件。然后,网页需要类似以下内容:

<link rel="stylesheet" href="css/styles.css">

在html页面的<head>部分中。在此示例中,字体文件应与样式表一起位于css文件夹中。之后,只需在html中的任何标签内添加class =“ junebug”,即可在该元素中使用Junebug字体。

如果要将CSS放入实际的网页中,请在html的开头添加样式标签,例如:

<style>
    @font-face { font-family: Junebug; src: url('Junebug.ttf'); } 
</style>

实际的元素样式可以包含在上面,<style>并按类或ID对每个元素进行调用,也可以只声明与元素内联的样式。我所说的元素是<div>,<p>,<h1>或html中需要使用Junebug字体的任何其他元素。使用这两个选项,字体文件(Junebug.ttf)应该位于与html页面相同的路径中。在这两个选项中,最佳做法如下:

<style>
    @font-face { font-family: Junebug; src: url('Junebug.ttf'); } 
    .junebug { font-family: Junebug; font-size: 4.2em; }
</style>

<h1 class="junebug">This is Junebug</h1>

最不可接受的方式是:

<style>
    @font-face { font-family: Junebug; src: url('Junebug.ttf'); } 
</style>

<h1 style="font-family: Junebug;">This is Junebug</h1>

最好的做法是使用内联样式,这是因为最佳实践表明,应将样式全部保留在一个位置,以便实用。这也是我建议使用外部样式表的第一个选项的主要原因。我希望这有帮助。


-1

有一个简单的方法可以做到这一点:在html文件中添加:

<link rel="stylesheet" href="fonts/vermin_vibes.ttf" />

注意:您输入的是.ttf文件的名称。然后转到您的css文件并添加:

h1 {
    color: blue;
    font-family: vermin vibes;
}

注意:您输入了所拥有字体的字体系列名称。

注意:请勿将字体家族名称写为font.ttf名称示例:如果font.ttf名称为:“ vermin_vibes.ttf”,则您的字体家族将为:“ vermin vibes”字体家族不包含特殊字符如“-,_” ...等,只能包含空格。


您应该将其真正定义为font-faceCSS中的样式,而不是ttf文件。
Arcath

它不是必需的,所以您可以像这样简单地做,我总是以两种方式来做,并且都可以工作
Abbass Sharara

@Arcath为什么最好使用font-face?
Antonio Araujo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.