by kevin
16.
十二月 2013 14:15
>
最近在改版65emall的时候,碰到一个很棘手的问题,Chrome浏览器有个最小字号设置,就是当字号小于最小字号时,就会自动调整为自动调整为最小的字号。如下图:
在中文版的Chrome中,默认的最小字号是12;
在英文版的Chrome中,默认的最小字号是10。
1: -webkit-text-size-adjust:none;
网上很多都建议使用上面这样的语法来实现,但在高版本的Chrome中,这个语法已经无效了。
所以使用 -webkit-transform:
代码如下:
1: .font-size8 { font-size: 8px;}
2: .font-size9 {font-size: 9px;}
3: .font-size10 {font-size: 10px;}
4: @media screen and (-webkit-min-device-pixel-ratio:0) {
5: .font-size8 {
6: font-size: 12px;
7: margin-top: 1px;
8: -webkit-transform: scale(0.83);
9: }
10: .font-size9 {
11: font-size: 12px;
12: margin-top: 2px;
13: -webkit-transform: scale(0.86);
14: }
15: .font-size10 {
16: font-size: 12px;
17: margin-top: 2px;
18: -webkit-transform: scale(0.92);
19: }
20: }
注意一下
- 为了能同时兼容中英文Chrome,10号,11号也要这样缩小
- 这个比例不是简单的等比例缩小,比如9号字,的缩放比例就不是0.75
另外需要注意的一点是,长度,高度,还是会按照10或者12号字来计算,所以,最好在外层在加个div作为容器。
1: <div>
2: <div class="font-size9">font-size:9px</div>
3: </div>