在中文版Chrome浏览器中,字体小于12px不设置都无效,而是强制显示为12px,解决方法就是添加一个webkit的私有属性。如何被定义了那个属性的地方,浏览器的字体将不能使用放大缩小功能!

最近在设计一套新的主题,遇到一个兼容问题,一般情况下只有IE才会有兼容问题来着的,这次是中文版的Chrome。

随着现在浏览器分辨率越来越大,小字体相对就不是很给力了,在设计主题的时候我一般都将字体设置成13px。新版主题中我用到一个10px的字体,当然是英文字体,中文字体一般在10px下基本都走样了。

我发现设置成10px无法实现,被强制变为了12px了,这让我很纠结了,我就想那个地方的字体是10px,大了就不好看了。

然后我将Google Chrome浏览器的语言设置成英文就没这个问题,我想难道是开发设计中文版时认为小于12px字体看不清楚,不利于用户体验所以就主动干预控制最小字体为12px呢?

Chrome 27之后,正式取消了-webkit-text-size-adjust属性,所有字号最小为12px。

目前似乎只有通过类似 transform:scale(0.875); 的方式来解决,但效果貌似并不是很理想。

当然,添加一个webkit的私有属性,就能解决问题。

.class{-webkit-text-size-adjust:none;}

我不建议使用全局的

html{-webkit-text-size-adjust: none;}

而是有针对性的对我们需要定义字体小于12px的地方去使用这个webkit的私有属性。

为什么这么说呢,就是当你放大或缩小网页的时候,被定义了-webkit-text-size-adjust:none;的部分字体是不会跟着变化的,会保存不变,你定义的是全局,那么整个网页的字体就不会改变了,对体验不好,所以还是哪里需要定义哪里,那样相对范围就小很多了,只会对定义的地方失去缩放功能。

由上图我们可以看到当网页被放大之后,页面上的元素除了被定义那个属性的,其他都正常的变大了。所以对于这个属性,我们还得多想想,不到必须,尽量不用。