简单调整单页面rem适配

标图宽度尺寸/新设备宽度 = 旧font-size/新font-size

旧/新 =  100/val
旧val = 新100
val = (新*100)/旧

新页面的font-size = 新设备宽度 * 旧font-size * 标图宽尺寸

新设备视图宽度使用document.documentElement.clientWidth获取

需求:目前标图宽度为400,其中有个100px的盒子,当宽度为800时,盒子自动变为200px

1、先写一个盒子 100*100的红盒子

<style>
    .test {
            width: 100px;
            height: 100px;
            background-color: brown;
        }
</style>
<body>
    <div class="test">
    </div>
</body>

2、设定html中font-size为100px,方便计算 ,test盒子也变成了rem

<style>
      html {
            font-size: 100px; //设定旧font-size
        }

      .test {
            width: 1rem; //绝对单位px变成相对单位rem
            height: 1rem;
            background-color: brown;
        }
    </style>
<body>
    <div class="test">
    </div>
</body>

3、在script中进行计算

  window.onresize = function () { //当window的视图变化
        //获取新视图的font-size = 新视图宽尺寸 * 旧font-size /原本的宽尺寸     
        let fs = document.documentElement.clientWidth * 100 / 400
        //将新视图font-size赋值给新视图,保证test盒子的rem宽度准确
        document.documentElement.style.fontSize = fs +'px'
    }

完成!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值