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

      谷歌浏览器默认最小字体为12px,小于12px的字体它都以12px显示,具体效果见下图。有些特殊情况下我们需要字体小点,特别是在制作英文网站的时候,怎么办?既然有问题,我们就有解决问题的方法。

<p>xjun0812测试16像素</p>
<p>xjun0812测试14像素</p>
<p>xjun0812测试12像素</p>
<p>xjun0812测试10像素</p>
<p>xjun0812测试10像素</p>

      IE等浏览器效果如下:


      Chrome浏览器下的效果:


      在网上有一个方法就是在html或者body里添加一句谷歌浏览器专有的属性。

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

      可是我用了之后发现并没有什么用,原来在新版本的谷歌浏览器里已经无效。那么我们现在应该怎么办呢?

      我们可以使用CSS3的一个缩放属性:transform:scale(),我这里给最后一行设置的代码如下(倒数第二行不做任何其他设置,以做参考):

-webkit-transform:scale(0.833);
/*这个数字0.833,是缩放比例,可以根据你自己的情况不同而不同。*/

      从上图可以看到最后一行是变小了,但是左边却出现了留白。是因为做缩放处理的时候把宽度也缩放了。还有要注意一点,如果这个<p>元素有背景的话,也会使背景也随着变化,所以,我们通常的做法是给<p>标签里再套个一个标签,我这里用<span>标签。

<p>xjun0812测试16像素</p>
<p>xjun0812测试14像素</p>
<p>xjun0812测试12像素</p>
<p>xjun0812测试10像素</p>
<p><span>xjun0812测试10像素</span></p>

      你会发现现在反而没有效果了,如图:


      这是因为transform:scale()这个属性只为可以缩放可以定义宽高的元素,而span是行内元素;我们给span元素定义一个display:block,这样就可以了。

      我们会发现一个问题,不管span元素是否左浮动,还是会发现左边出现了留白,我们可以通过设置宽度等其他办法来解决,结果如下:


      最后,因时间仓促,资质有限,文中表述仅代表个人观点,如果有更好的方法,欢迎留言。


展开阅读全文

没有更多推荐了,返回首页