在做手机端适配的时候,会选择不同的单位配合着媒体查询,去做适配比如em、vw、rem。个人认为让前端能完美还原设计稿的单位就是rem了。因为美工设计的时候,单位用的是像素,而前端想在不同屏幕上完全还原设计稿,就必须要有一套换算过程。
这里就不讲太多的为什么了,因为百度一大把,直接贴方案了(一段js+媒体查询)。这也是工作中用的方案,仅供参考,我也是参考的网易和淘宝。
//动态计算fontSize
function setViewPort(){
var clientWidth = document.documentElement.clientWidth;
if(clientWidth > 750) { //这里之所以是750。是因为我拿到的设计稿是750
clientWidth = 750
};
document.documentElement.style.fontSize = clientWidth / 7.5 + 'px';
}
setViewPort();
window.onresize = setViewPort;
font-size需要额外的媒介查询
@media screen and (max-width:321px){
//
}
@media screen and (min-width:321px) and (max-width:400px){
//
}
@media screen and (min-width:400px){
//
}