最近做移动端官网,发现字体的实际大小比设置的大,找到原因后,在此总结。
原因一:浏览器最小字体设置
字体虽然设置成5px,但字体的实际大小为16px,原因是浏览器设置了最小字体,这个可以手动设置。
原因二:font boosting
这个是webkit给移动端提供的一个特性,当我们浏览网页时,有可能因为原始页面的宽度过大,在手机屏幕上缩小后,就看不清其文字了,而font boosting特性这时候就发挥作用,自动将其中的文字字体变大,保证在既不需要左右滑动屏幕, 可以让人们看清文本。
但有时font boosting特性会影响我们的设计,所以需要屏蔽掉,方法就是为元素设置高度,设置一个固定的高度并不现实,所以我们可以设置max-height=99999px,此外设置-webkit-text-size-adjust: none。
font boosting的触发条件
我是在使用视口缩放时发现这个现象的,但真实的触发条件有一个计算公式,在这里就不多说了,如果感兴趣,可移 mingelz 的这篇博客 。
引用目录
https://github.com/amfe/article/issues/10
http://www.cnblogs.com/he-lian/p/4512276.html