CSS3 使用自定义字体

本文介绍如何利用CSS3的@font-face规则在网页中使用自定义字体,包括不同浏览器的支持情况及字体格式。通过实例展示了如何设置及应用自定义字体。

CSS3 @font-face 规则

在 CSS3 之前,web 设计师必须使用已在用户计算机上安装好的字体。
通过 CSS3,web 设计师可以使用他们喜欢的任意字体。
当您您找到或购买到希望使用的字体时,可将该字体文件存放到 web 服务器上,它会在需要时被自动下载到用户的计算机上。
您“自己的”的字体是在 CSS3 @font-face 规则中定义的。


Firefox、Chrome、Safari 以及 Opera 支持 .ttf (True Type Fonts) 和 .otf (OpenType Fonts) 类型的字体。
Internet Explorer 9+ 支持新的 @font-face 规则,但是仅支持 .eot 类型的字体 (Embedded OpenType)。
注释:Internet Explorer 8 以及更早的版本不支持新的 @font-face 规则。


使用您需要的字体
在新的 @font-face 规则中,您必须首先定义字体的名称(比如 myFirstFont),然后指向该字体文件。
如需为 HTML 元素使用字体,请通过 font-family 属性来引用字体的名称 (hoverTreeFont).

先查看效果:http://hovertree.com/texiao/css/5.htm

完整HTML代码:

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <title>CSS3自定义字体 - 何问起</title><base target="_blank"/>
    <meta charset="utf-8" />
    <style>
    @font-face {
        font-family: hoverTreeFont;
        src: url('http://hovertree.com/themes/fonts/Sansation_Light.ttf'),url('http://hovertree.com/themes/fonts/Sansation_Light.eot'); /* IE9+ */
    }

    @font-face {
        font-family: hoverTreeFont;
        src: url('http://hovertree.com/themes/fonts/Sansation_Bold.ttf'),url('http://hovertree.com/themes/fonts/Sansation_Bold.eot'); /* IE9+ */
        font-weight: bold;
    }

    .hvtbold {
        font-family: hoverTreeFont;
    }
    .hvtbold a{font-family: hoverTreeFont;}a{color:blue}
    div{font-size:16px;font-family:Arial, Sans-Serif,NSimSun,"\5b8b\4f53";border:1px solid green;margin:5px;}
</style>
</head>
<body>
    
    
    <div class="hvtbold">
        加了自定义字体的效果:<br /><br />

        With CSS3, websites can <b>finally</b> use fonts other than the pre-selected "web-safe" fonts.
        <br /><br />何问起 hovertree.com <br /><br /><b>柯乐义http://keleyi.com</b><br /><br /><a href="http://hovertree.com/down/">ASP.NET CMS源代码下载</a><br />
<br /><a href="http://hovertree.com/hvtart/bjae/is0xr36t.htm">原文</a> <a href="http://hovertree.com/">首页</a> <a href="http://hovertree.com/down/">更多特效</a>
    </div>
    
    <div>没加自定义字体的效果:<br /><br />

        With CSS3, websites can <b>finally</b> use fonts other than the pre-selected "web-safe" fonts.
        <br /><br />何问起 hovertree.com <br /><br /><b>柯乐义http://keleyi.com</b><br /><br /><a href="http://hovertree.com/down/">ASP.NET CMS源代码下载</a><br />
<br /><a href="http://hovertree.com/hvtart/bjae/is0xr36t.htm">原文</a> <a href="http://hovertree.com/">首页</a> <a href="http://hovertree.com/down/">更多特效</a>
    </div>

</body>
</html>

web前端: http://www.cnblogs.com/jihua/p/webfront.html

<think> 我们正在讨论如何使用CSS自定义字体。根据引用内容,主要使用`@font-face`规则来引入自定义字体。 引用[1]和[引用2]都提到了基本语法:通过`@font-face`定义一个字体家族,指定其来源(src),然后就可以在CSS中通过font-family使用字体。 引用[3]提到了一种更优的做法:使用相同的font-family名称,但设置不同的font-weight和font-style,这样只需要一个家族名称就可以管理多个字重和样式,使得代码更简洁。 引用[4]展示了一个使用自定义字体的例子,在.time类中设置font-family为&#39;Invention_A_Rg&#39;。 引用[5]则展示了如何用自定义字体制作图标,通过定义每个字符对应的图标(使用:before和content属性)。 因此,我们可以总结如下步骤: 1. 使用`@font-face`规则定义字体,指定字体的各种属性(字体家族名称、字体文件路径、字重、样式等)。 2. 在需要使用字体的元素上,设置font-family属性为定义好的家族名称。 为了更清晰地说明,下面我将分步骤解释并给出示例。 </think> ### CSS使用自定义字体的方法详解 在CSS使用自定义字体主要通过`@font-face`规则实现,以下是完整实现步骤和最佳实践: #### 一、基础使用方法 1. **声明字体家族** 使用`@font-face`规则定义字体源文件: ```css @font-face { font-family: &#39;YourFontName&#39;; /* 自定义字体名称 */ src: url(&#39;fonts/your-font.woff2&#39;) format(&#39;woff2&#39;), /* 优先使用高效格式 */ url(&#39;fonts/your-font.woff&#39;) format(&#39;woff&#39;); /* 兼容旧浏览器 */ font-weight: 400; /* 常规字重 */ font-style: normal; /* 非斜体 */ font-display: swap; /* 后备字体交换策略(避免FOIT) */ } ``` 2. **应用自定义字体** 在元素中引用声明的字体家族: ```css .time { font-family: &#39;YourFontName&#39;, sans-serif; /* 添加备用字体 */ font-weight: 400; /* 需匹配@font-face的字重设置 */ color: #606060; } ``` > *引用[4]示例中展示了class应用方式* #### 二、多字重字体管理(推荐方案) ```css /* 常规字重 */ @font-face { font-family: &#39;Invention_A_Rg&#39;; src: url(&#39;invention-regular.woff2&#39;) format(&#39;woff2&#39;); font-weight: 400; /* 对应normal */ } /* 加粗字重 */ @font-face { font-family: &#39;Invention_A_Rg&#39;; /* 保持相同字体家族名 */ src: url(&#39;invention-bold.woff2&#39;) format(&#39;woff2&#39;); font-weight: 700; /* 对应bold */ } ``` > *引用[3]指出:统一字体名+不同字重是更优方案,简化代码并提高一致性* #### 三、字体图标实现 ```css @font-face { font-family: "iconfont"; src: url(&#39;iconfont.woff2&#39;) format(&#39;woff2&#39;); } .iconfont { font-family: "iconfont" !important; font-style: normal; } .icon-user::before { content: "\e6b5"; } /* Unicode编码 */ ``` ```html <!-- 使用示例 --> <i class="iconfont icon-user"></i> ``` > *引用[5]展示了字体图标的完整实现链* #### 四、最佳实践建议 1. **字体格式选择** - 优先使用`woff2`(压缩率比woff高30%) - 提供`woff`作为后备 - 避免使用`ttf/eot`(现代浏览器已淘汰) 2. **性能优化** ```css font-display: swap; /* 先显示后备字体自定义字体加载后替换 */ ``` 3. **Unicode范围控制** ```css unicode-range: U+0020-007F; /* 仅加载拉丁字符集 */ ``` 4. **文件路径规范** - 使用相对路径:`url(&#39;../fonts/your-font.woff2&#39;)` - 或CDN绝对路径:`url(&#39;https://cdn.example/fonts.woff2&#39;)` #### 五、常见问题解决 1. **字体不生效检查清单**: - 路径是否正确(开发者工具Network面板验证) - 字体格式是否支持 - `font-weight`是否匹配声明值 - 是否被CSS优先级覆盖 2. **版权注意事项**: - 商用字体需授权 - 推荐开源字体:Google Fonts, Adobe Fonts - 自托管需遵守许可证 > *字体渲染优化:添加`-webkit-font-smoothing: antialiased;`提升MacOS显示效果*
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值