本文最后更新于 1633 天前,其中的信息可能已经有所发展或是发生改变。
-webkit-font-smoothing字体抗锯齿渲染
下面这段代码是在学习 vue 的时候,启动项目时无意间看到根元素的样式属性,对
其中的-webkit-font-smoothing
的属性不太了解,百度了一番这里记录一下。
#app {
font-family: 'Avenir', Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
对字体进行抗锯齿渲染可以使字体看起来会更清晰舒服。在图标字体成为一种趋势的今天,抗锯齿渲染使用也越来越多。
font-smoothing是非标准的CSS定义。它被列入标准规范的草案中,后由于某些原因从web标准中被移除了。
但是,我们可以用以下两种定义进行抗锯齿渲染
-webkit-font-smoothing: antialiased; /*chrome、safari*/
-moz-osx-font-smoothing: grayscale;/*firefox*/
Webkit在自己的引擎中支持了这一效果。
-webkit-font-smoothing
它有三个属性值:
- none:对低像素的文本比较好
- subpixel-antialiased:默认值
- antialiased:抗锯齿很好
例子:
body{
-webkit-font-smoothing: antialiased;
}
这个属性可以使页面上的字体抗锯齿,使用后字体看起来会更清晰。加上之后就顿时感觉页面小清晰了。
Gecko也推出了自己的抗锯齿效果的非标定义。
-moz-osx-font-smoothing: inherit | grayscale;
这个属性也是更清晰的作用。
例子:
.icon {
-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;
}
Ionic框架在样式中多加了一条font-smoothing: antialiased;
这是坐等font-smoothing标准化,有备无患么。
写在最后
font-smoothing
这个属性可以使页面上的字体抗锯齿,使用后字体看起来会更清晰,适合于 Webkit
和 Gecko
内核的浏览器,在 Mac OS
和 ios
中表现比较明显,在 windows
中表现不明显,大家可以根据场景有选择性地使用。