博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS进阶(十八)@font-face
阅读量:4972 次
发布时间:2019-06-12

本文共 1010 字,大约阅读时间需要 3 分钟。

@font-face {
font-family: 'example'; src: url(example.ttf); font-style: normal; font-weight: normal; unicode-range: U+0025-00FF; font-variant: small-caps; font-stretch: expanded; font-feature-settings:"liga1" on;}

font-variant、font-stretch 和 font-featuresettings专门为英文设计

src 如果是使用系统安装字体, 则使用 local()功能符;如果是使用外链字体,则使用 url()功能符

font-weight:normal 和 font-style:normal,如果你 没有同字体名的多字体设置,则它就是多余的

format()功能符的作用是让浏览器提前知道字体的格式,以决定是否需要加载这个字体,而 不是加载完了之后再自动判断

font-style 和 font-weight 规则类似,在同名字体中选择不同字重和样式的字体

font-weight 被委以重任来实现“响应式图标”

 

unicode-range 的作用是可以让特定的字符或者特定范围的字符使用指定的字体

字体图标技术的原理

替换对应Unicode编码的内容

弊端

(1)原始字符和生成的字符差距大,加载缓慢时能够看到变化效果,解决方案:内联字体文件

(2)原始字符和生成的字符x-height不一样,会出现闪动

(3)原始字符的 ch 宽度,也就是水平占据的宽度和最终的图形也是不一样的,会出现晃动

解决

设置指定宽度

.icon {
display: inline-block; width: 20px; text-align: center; font-family: ICON;}

使用工具生成图标字体

(1)纯路径,纯矢量,不要有 base64 内联图形。

(2)使用填充而非描边,也尽量避免使用一些高级的路径填充覆盖技巧。

(3)宽高尺寸最好都大于 200,因为字体生成的时候,坐标值会四舍五入,SVG 尺寸过小 会导致坐标取值偏差较大,使最终的图标不够精致。

转载于:https://www.cnblogs.com/goOtter/p/9822130.html

你可能感兴趣的文章
Java作用域
查看>>
spring中增加自定义配置支持
查看>>
End Point
查看>>
关于下载gitbash客户端
查看>>
支付宝钱包手势password破解实战(root过的手机可直接绕过手势password)
查看>>
python 操作MongoDB
查看>>
用Nginx实现微信小程序本地SSL请求
查看>>
Struts表单重复提交
查看>>
请说出call、apply、bind的区别
查看>>
WKWebView强大的新特性
查看>>
_DataStructure_C_Impl:图的遍历
查看>>
Linux环境变量PS1配置
查看>>
broadleaf commerce到mysql和tomcat的迁移
查看>>
IDEA生成增强for循环
查看>>
图表插件echars的使用案例
查看>>
model相关
查看>>
Echarts 图例交互事件
查看>>
常用PS快捷键
查看>>
js获取iframe里面的元素
查看>>
初探remoting双向通信(一)
查看>>