字体锯齿问题

解决方案

界面中文字和字体图标,通常需要平滑显示,常规设置如下(全局字体图标设置)

.font {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

张鑫旭推荐的最佳实践(兼容系统和物理屏幕)

body {
  -webkit-font-smoothing: antialiased;
}

/* Retina下仍使用默认字体渲染 */
@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 2dppx) { 
  body {
    -webkit-font-smoothing: subpixel-antialiased;
  }
}

具体说明

  • antialiased:平滑像素级别的字体,而不是子像素。从亚像素渲染切换到黑暗背景上的浅色文本的抗锯齿使其看起来更轻。
  • grayscale:用灰度抗锯齿渲染文本,而不是子像素。从亚像素渲染切换到黑暗背景上的浅色文本的抗锯齿使其看起来更轻。

通常在字体图标库下载时已经包含这个属性,不需要手动加。如果没有这两个属性,那么需要手动加入。

兼容性问题

这是非标准的规则,兼容性不太好,在 MAC 中的谷歌(webkit)火狐(geoko)等可以正常使用,其他浏览器效果不好。

如果不考虑其他兼容问题,可以放心使用。
在这里插入图片描述

注意

注1:svg 图标的平滑显示,需要单独设置(另一篇博客中简介)

注2:名称问题:MDN上显示这个属性应该名叫font-smooth(老版本的W3C的提案有关于font-smooth的内容)这是非标准的名称,没有一个浏览器用这个名字,实际上使用 font-smoothing

参考资料

这是自己遇到的一个问题,应该阅读量不高,简单记录一下。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值