如果width以rem为单位的话,会出现如下问题:
在这个问题的基础上:http://segmentfault.com/q/1010000002442078
当width<480时,按照设定的html font-size应为10px,但是chrome最小只能是12px。如果width=320时,元素的width为30rem,想要的效果是300px,结果为360px,且超出屏幕宽度。
这种问题需要解决吗?因为chrome默认最小为12px,我就怕其他移动端的浏览器也有这种默认情况的话,怕出问题,所以请教一个,这种情况最好的解决方案是啥?
总结:这个问题其实也挺好解决的。只是自己之前没换算对。
假设320px=14px;
那
html {
font-size: 87.5%;
}
@media only screen and (min-width: 481px){
html {
font-size: 131%!important;
}
}
@media only screen and (min-width: 561px){
html {
font-size: 153%!important;
}
}
@media only screen and (min-width: 641px){
html {
font-size: 175%!important;
}
}
这样的话,不会出现<12px的字体;屏幕比较窄时,元素的宽度也没有问题。
但是font-size=14px,以后计算比较麻烦,如果设为20px,可以方便以后计算。
html {
font-size: 20px;
}
@media only screen and (min-width: 481px){
html {
font-size: 30px!important;
}
}
@media only screen and (min-width: 561px){
html {
font-size: 35px!important;
}
}
@media only screen and (min-width: 641px){
html {
font-size: 40px!important;
}
}
这样才比较好一些,其实的字体计算以20px为基准,元素宽度也是。
总结,为了使浏览器中的字体大小不小于12px,给html设置的初始值大于12px就可以了。
-webkit-transform:scale(0.8125);
css3这个用法可以