在谷歌(Chrome)中css设置小于12px的10px的文字
众所周知,Google浏览器最小字体为12px,那如何实现更小的10px字体呢?在网页中,经常会有一些促销标签,设计师很喜欢把这些便签的颜色设计的很醒目而字体很小,当然我们不讨论这种设计在视觉上会产生什么效果,我们现在要讨论的是如何制作这种小字体。
字体大小限制在有些浏览器(Chrome)上需要做设置的,例如:Chrome默认最小字体大小为12px,小于12px的字体都显示12px大小,不过你可以设置最小到6px。当然对于普通的用户是不会对它进行设置的,所以需要一些技术手段来做这种小字体。下面是不同平台不同浏览器对字体大小的限制:
平台 | 浏览器 | 默认最小字体 | 最小字体限制 |
---|---|---|---|
Mac | Chrome | 12px | 6px |
Mac | Safari | 0px | no |
Mac | Firefox | 0px | no |
Win | Chrome | 12px | 6px |
Win | IE11 | 0px | no |
Win | Edge | 0px | no |
Win | Firefox | 0px | no |
Mobile | Webkit | 12px | 12px |
注:在Chrome浏览器中,虽然最小字体到6px,但是当它设置为0px时,文字会看不见。
方法一:切图解决
小于12px的字体,如果内容固定,可以将内容切除做图片,没有兼容问题
方法二:-webkit-transform:scale(0.8);c3的新属性,但是使用这个之后,如果该标签有背景图,那背景图也会被缩放,解决办法:给该标签里包裹一个span标签,设置样式display:block;
从上面的浏览器的表格中我们不难看出只有Chrome才有对字体的限制,Chrome是支持CSS3的,我们可以用缩放的方式来制作10px字体。需要一些计算:
10px = 12px * 0.83
或者
10px = 20px * 0.5
;当然我们会优先采用第一个计算方式,因为避免不支持CSS3浏览器的情况,我们也可以通过降级处理,将字体变回12px;最后兼容 IE:
*font-size:10px;
: