rem使用

下面是手写rem适配

1rem的大小等于1html的fontsize的大小

 <style>
        .header {
            width: 120px;
            height: 120px;
            background-color: rgb(74, 173, 91);
        }
        
        .content {
            width: 120px;
            height: 120px;
            background-color: rgb(29, 214, 159);
        }
        
        .footer {
            width: 120px;
            height: 120px;
            background-color: rgb(19, 130, 221);
        }
    </style>

<body>
    <div class="header">头部</div>
    <div class="content">内容</div>
    <div class="footer">尾部</div>

    <script>
        rem();


        //手写 rem 布局
        window.onresize = function() {
            rem();
        }

        //rem函数
        function rem() {
            // html的宽度
            let myHtml = document.documentElement.clientWidth;
            // body的宽度
            let myBody = document.body.clientWidth;
            console.log(myHtml, myBody);
            let h = myHtml || myBody

            document.documentElement.style.fontSize = (h / 750 * 100) + 'px'
        }
    </script>
</body>

什么是vw vh

属于一种新兴的移动端布局配置,功能与rem类似

vw 视口的最大宽度,1vw等于视口宽度的百分之一

vh 视口的最大高度,1vh等于视口高度的百分之一

如何自动适配vw vh
安装依赖

npm install postcss-px-to-viewport -D
1
修改 .postcssrc.js

// https://github.com/michael-ciniawsky/postcss-load-config
module.exports = {
  plugins: {
    autoprefixer: {
      overrideBrowserslist: ['Android 4.1', 'iOS 7.1', 'Chrome > 31', 'ff > 31', 'ie >= 8']
    },
    'postcss-px-to-viewport': {
      viewportWidth: 375, // 视窗的宽度,对应的是我们设计稿的宽度,一般是750
      unitPrecision: 3, // 指定`px`转换为视窗单位值的小数位数(很多时候无法整除)
      viewportUnit: 'vw', // 指定需要转换成的视窗单位,建议使用vw
      selectorBlackList: ['.ignore', '.hairlines'], // 指定不转换为视窗单位的类,可以自定义,可以无限添加,建议定义一至两个通用的类名
      minPixelValue: 1, // 小于或等于`1px`不转换为视窗单位,你也可以设置为你想要的值
      mediaQuery: false // 允许在媒体查询中转换`px`
    }
  }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值