em:相对于父元素的字体大小 rem:相对于根节点元素来计算的。
js动态适配
<div id="demo"></div>
*{
margin:0;
padding:0
}
#demo{
width:3.45rem;
height:1.5rem;
margin: 0.15rem auto 0;
background-color:green;
}
function adapter(){
const dpWidth = document.documentElement.clientWidth
const rootFrontSize = (dpWidth * 100)/ 375
document.documentElement.style.fontSize = rootFrontSize
}
adapter()
window.onresize=()=>{
adapter()
}
第二种写法配合less版本
less:
@fontsize:375/10rem
*{
margin:0;
padding:0
}
#demo{
width:375/@fontSize;
height:150/@fontSize;
margin: 15/@fontSize auto 0;
background-color:green;
}
//可编译成:
*{
margin:0;
padding:0
}
#demo{
width:9.2rem;
height:4rem;
margin: 0.4rem auto 0;
background-color:green;
}
|