--- title: CSS中的字体 date: 2017-10-19 10:55:37 tags: - 前端 - css categories: - 前端杂烩 --- 在CSS当中 , 我们通常使用`@font-face`来定义字体 除了可以引入外部字体之外 , 也可以给系统本地的字体定义别名 比如 ```css @font-face { font-family : YH; src : local("microsoft yahei"); } .font { font-family:YH; } ``` 这样我们就可以在需要使用这个字体的地方直接使用这个别名 > 通常不推荐在网页当中引入外部的中文字体包 > 因为中文字体包通常很大 , 会导致严重的加载缓慢 然而在Mac系统当中没有微软雅黑字体 , 我们希望在Mac系统上使用苹方字体 , windows系统上使用微软雅黑字体 ```css @font-face { font-family : BASE; src: local("PingFang SC"), local("Microsoft Yahei"); } ``` 这样字体的应用就更加简便了 ### unicode-range 这个属性可以给特定的字符指定特定的字体 通过unicode编码去指定字符 比如我们需要给一段文字当中的引号使用宋体 , 其他的文字使用微软雅黑或者苹方字体 可以这样做 ```css @font-face { font-family: BASE; src: local('PingFang SC'), local('Microsoft Yahei'); } @font-face { font-family: quote; src: local('SimSun'); unicode-range: U+201c, U+201d; /* 中文前引号与后引号对应的unicode编码 */ } .font { font-family: quote, BASE; } ``` ![css_font](/images/前端杂烩/css_font.png) > FireFox浏览器对字体名称的大小写敏感 unicode-range的用法 ```css /* 支持的值 */ unicode-range: U+26; /* 单个字符编码 */ unicode-range: U+0-7F; unicode-range: U+0025-00FF; /* 字符编码区间 */ unicode-range: U+4??; /* 通配符区间 */ unicode-range: U+0025-00FF, U+4??; /* 多个值 */ ``` > **前端领域的字符表示方式总结** > 1. HTML中字符输出使用`&#x`配上charCode值 > 2. 在JavaScript文件中为防止乱码转义,则是`\u`配上charCode值 > 3. 在CSS文件中,如CSS伪元素的content属性,直接使用`\`配上charCode值 > 4. unicode-range是`U+`配上charCode值 ---- ### 补充 : **使用千位分隔符表示大数字** 在移动端 , 对于超过一定个数的连续数字 , 系统会默认当做电话号码来处理 , 而不是一个数字 点击这个数字的时候 , 可以触发系统的电话呼叫 如果我们想干掉这个特性 , 通常的做法是使用``标签 ```xml