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- 319px){
        html{
            font-size: calc(320px / 750 * 100);
        }
    }
    @media (min- 601px){
        html{
            font-size: calc(600px / 750 * 100);
        }        
    }

body{font-size: 0.4rem}

media+rem组合方式:媒体查询就是根据不同的屏幕宽度设置合适的字体大小

html{
         font-size: 16px;
     }

    @media (max- 319px){
        html{
            font-size: 14px;
        }
    }
    @media (min- 601px){
        html{
            font-size:20px;
        }        
    }

body{font-size: 0.4rem}

4、vh:相对屏幕高度,100vh表示屏幕总高度,1vh为1%的屏幕高度

5、vw:相对屏幕宽度,100vw表示屏幕总宽度,1vw为1%的屏幕宽度 

 

原文地址:https://www.cnblogs.com/muzs/p/14441853.html