首页 > 代码库 > font-size<12 chrome不支持解决
font-size<12 chrome不支持解决
今天,群里有人问道font-size<12 chrome不支持的问题。说实话,这个我一直都没留意过,正好借个机会给自己补习一下。
自己亲自试过,确实如此,当font-size<12 chrome都当12px处理了,据说以前有个属性可以用,不过已经淘汰不支持了,也无法验证,那这里就不说了。这里用的方法是用css3的新属性:transform:scale();来达到对文本进行缩放,但是注意,他会对做用的元素进行整体缩放,而这不是我们所希望的,因为我们只是想单独缩放字体,所以采取一些措施:就是用一个标签把需要缩放的文本包起来,然后单独对他添加transform:scale();避免对其他元素影响。好了,说了这么多,看代码:
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8"> 5 <title>JS Bin</title> 6 </head> 7 <body> 8 <div style="font-size:16px">Font Size 16px</div> 9 <div style="font-size:15px">Font Size 15px</div> 10 <div style="font-size:14px">Font Size 14px</div> 11 <div style="font-size:13px">Font Size 13px</div> 12 <div style="font-size:12px">Font Size 12px</div> 13 <div style="font-size:11px" class="small">Font Size 11px</div> 14 <div style="font-size:10px;border:1px solid red;" class="">Font Size 10px</div> 15 <div style="font-size:9px" class="small">Font Size 9px</div> 16 <div style="font-size:8px;border:1px solid green;"><span class="small2">Font Size 8px</span></div> 17 <div style="font-size:7px;border:1px solid blue;"><span class="small">Font Size 7px</span><a href="#">baidu.com</a></div> 18 <div style="font-size:6px;border:1px solid blue;"><p class="small">Font Size 6px</p></div> 19 </body> 20 </html>
这是样式:
1 .small,.small2{-webkit-transform:scale(0.8);margin:0;padding:0;border:1px solid red;} 2 span.small{display:inline-block;}
这是结果:
由上面结果可以看出,当给整个div添加small类的时候,红框的区域相比font-size:10px的红框是有缩小的,这说明整个div所有样式尺寸都缩小的0.8,而不单单是font-size
再看font-size:8px貌似不起作用,没错,因为他用了small2的类名,而这个没有display:inline-block;所以得出结论,这里scale是失效的。理解起来也很容易,scale本就是对尺寸的元素进行缩放,而span是内联元素,没有尺寸,自然不起作用失效。为什么用display:inline-block,我想找个就不需要多解释了。
当然,对比看font-size:6px可以看出,不是只有span可以用来包含需要缩放文本的标签,p标签也是可以的,这里就省去让他块化的一步了
参考:http://www.w3ci.com/front/xHTMLCSS/34.html