CSS3中字体平滑处理和抗锯齿渲染

在围观Drupal官方主题的时候,发现了一个有意思的非标准CSS选择器-webkit-font-smoothing,于是上手把玩了一番。如何使用css3字体平滑显示呢 1099530-20170126160818144-1467086262.png

要知道,W3C对CSS中字体的抗锯齿渲染是有过考虑的,如font-smooth,不过可能由于不同操作系统以及浏览器内核对字体的渲染存在差异,总之,他并没有被选入Web标准。但是WebKit还是保留了一套自有的非标准选择器来实现对抗锯齿效果的支持,来让字体显示的更加平滑。

-webkit-font-smoothing主要有一下三个属性:

  • none: 无抗锯齿
  • subpixel-antialiased (default): 次像素平滑 常见于Mac OS和MacType For Windows
  • antialiased: 灰度平滑 常用于Android和iOS等移动设备的

不过经过尝试,我的木头眼睛完全分辨不出后两个的区别。 1099530-20170126160829050-625521779.png而且这个非标准的CSS只适用于大多数的手机浏览器及Safari和Chrome之类的WebKit内核的桌面浏览器。至于IE系列嘛,你自己不支持,怪我咯~1099530-20170126160852862-822440223.png

这里看看实际效果吧,首先是没有采用抗锯齿渲染的:

CSS3中字体平滑处理和抗锯齿渲染_第1张图片

接下来是采用-webkit-font-smoothing: subpixel-antialiased抗锯齿渲染平滑处理后的效果:

CSS3中字体平滑处理和抗锯齿渲染_第2张图片

可以看出来,字体边缘的光滑程度还是不一样的,加上后确实好看了不少。

经过测试发现,浏览器的内置基础属性中一般已经包含了字体抗锯齿。但是为了保险起见,还是手动加上一个吧~

我的个人博客,里面会有各种有意思的东西哦,欢迎关注。iamkun.com

你可能感兴趣的:(CSS3中字体平滑处理和抗锯齿渲染)