
最近在设计一套新的主题,遇到一个兼容问题,一般情况下只有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;的部分字体是不会跟着变化的,会保存不变,你定义的是全局,那么整个网页的字体就不会改变了,对体验不好,所以还是哪里需要定义哪里,那样相对范围就小很多了,只会对定义的地方失去缩放功能。
由上图我们可以看到当网页被放大之后,页面上的元素除了被定义那个属性的,其他都正常的变大了。所以对于这个属性,我们还得多想想,不到必须,尽量不用。