css的常用单位px、em、rem、vh,vw
近来一直在做微信小程序的开发,基础的css的东西都快要忘记了。今天比较闲整理一下,以备后期查看。
1、px:px是绝对单位,1px是1像素;比如:电脑屏幕分辨率是1920*1200,那么对应的像素值是1920px*1200px
2、em:em是相对单位,相对于其父元素;
css:
div{
font-size: 24px;
}
p{
font-size: 0.5em; // p=0.5*24px
}
html:
<div>
我是父元素,我的字体大小为:24px
<p>我是子元素,我的字体大小为:0.5*24px = 12px</p> </div>
3、rem:rem是相对单位,相对于html元素;比如:html的字体大小是100px,p元素的字体大小是16px,那么p的字体大小应设置为0.16rem;目前来说,rem作为页面适配的解决方案,应用非常广泛。
rem的适配方式分为js+rem组合, cal+rem组合, media+rem组合
js+rem组合方式:
function setHtmlFontSize() { const docEle = document.documentElement const pw = 750 //设计稿宽度 2倍图 let vw = docEle.clientWidth //屏幕宽度 if (vw < 320) {//最小零界点 vw = 320 } if (vw > 600) {//最大零界点 vw = 600 } docEle.style.fontSize = vw/pw * 100 + 'px' //以750为基准宽度,屏幕宽为750px时设置html的字体大小为100px,其他子元素字体大小按:设计图大小/100 设置 } setHtmlFontSize() window.addEventListener('resize', function(){ setHtmlFontSize() })
body{font-size: 0.4rem} //设计图大小:40px 网页显示大小:20px
cal+rem组合方式:没有零界值设置,但是也可以配合,media设置零界值
html{
font-size: calc(100vw / 750 * 100);
}
@media (max-width: 319px){
html{
font-size: calc(320px / 750 * 100);
}
}
@media (min-width: 601px){
html{
font-size: calc(600px / 750 * 100);
}
}
body{font-size: 0.4rem}
media+rem组合方式:媒体查询就是根据不同的屏幕宽度设置合适的字体大小
html{
font-size: 16px;
}
@media (max-width: 319px){
html{
font-size: 14px;
}
}
@media (min-width: 601px){
html{
font-size:20px;
}
}
body{font-size: 0.4rem}
4、vh:相对屏幕高度,100vh表示屏幕总高度,1vh为1%的屏幕高度
5、vw:相对屏幕宽度,100vw表示屏幕总宽度,1vw为1%的屏幕宽度

浙公网安备 33010602011771号