Chrome谷歌浏览器下不支持css字体小于12px的解决办法

coder.png

在这一年的工作中,我发现很多问题你利用自己的「聪明才智」绕过去了,总有一天它会和你不期而遇,今天我们就来直面一个字体兼容性的小问题:Chrome谷歌浏览器下不支持css字体小于12px。
我们先来看个效果图(chrome下):


给你看个栗子.png

从上面的图可以很明显地看出Chrome下css设置字体大小为12px及以下时,显示的都是一样大小,都是默认12px;

那么网上有一个方法就是给当前样式添加Chrome私有属性:-webkit-text-size-adjust:none;
可是我进行验证后发现并无效果。后来查资料了解到在Chrome 27之后就取消了对这个属性的支持,那么我们应该如何设置Chrome下的字体呢?

可以利用css3的缩放属性:transform:scale()

.small-font{
  font-size: 12px;
  -webkit-transform: scale(0.5);
}

这样在元素上加上这个属性就OK了,但是只这样写可不会兼容IE、FF哦,所以再给一个兼容性写法:

.small-font{
  font-size: 12px;
  -webkit-transform: scale(0.5);
}
.smallsize-font{
  font-size: 6px;
}

<p class=“small-font samllsize-font”>温馨提示</p>

这时候有同学说你这不对啊,我加了这样式就没效果,别急哈,仔细看下你的元素是不是行内元素啊?
注意:transform:scale()这个属性只可以缩放可以定义宽高的元素,而行内元素是没有宽高的,我们可以加上一个display:inline-block;属性就好啦。

PS:有小伙伴让用rem解决,我在这里解释一下哈,em、rem是一种相对单位,根据根元素的大小计算出来,目的是浏览器的字体大小变化时,页面布局及字体大小能跟着自适应。也就是说反应到浏览器要渲染是还是xx px,那Chrome浏览器本身是渲染不了12px以下的字体的,所以这个方法是不可行的,rem虽好,但不对这个症。

给我点赞的都是小可爱 ^_^

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,792评论 1 92
  • 转载自:百度知道 中文版Chrome浏览器不支持12px以下字体的解决方案 Chrome 27之前的中文版桌面浏览...
    Bbooo阅读 2,483评论 0 1
  • 1.行内元素和块级元素?img算什么?行内元素怎么转化为块级元素? 行内元素:和有他元素都在一行上,高度、行高及外...
    极乐君阅读 2,452评论 0 20
  • 清晨的影, 听着鸟语, 吻着花香。 恣意而洒脱, 悠扬而美丽。 它是我, 却又不是我。 ---经小年 《晨沐》
    zerostarfro阅读 512评论 1 1
  • 最近一个月一直用简书交作业。意味着,我没有认真去写。可以三言两语地写点感受,不关心行文逻辑,不关心字数多少。只是想...
    甘露yuer阅读 255评论 0 1