使用 rem,实现屏幕自适应

实现屏幕自适应

  1. 先获得屏幕宽度
  2. 根据屏幕宽度计算出 font-size
  3. 接着写代码时候,代码大小单位使用 rem。 1rem = 10px
  4. 然后就没了
上代码
// 使得打开网页时rem的设置更及时,并实时跟踪屏幕宽度变化
(function(doc, win) {
    setRem();
    var resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
        recalc = function() {
            setRem();
        };
    if (!doc.addEventListener)
        return;
    win.addEventListener(resizeEvt, recalc, false);
    // doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
 
function setRem() {
    var docEl = document.documentElement;
    var clientWidth = docEl.clientWidth;
    if (!clientWidth) {
        return;
    }
    docEl.style.fontSize = 100 * (clientWidth / 1080) + 'px';
}
可提前统计自己网站有哪些主流的屏幕设备,然后去针对那些设备去做media query设置也可以实现适配,如下
 html {
 
    font-size : 20px;
 
}
 
@media only screen and (min-width: 401px){
 
    html {
 
        font-size: 25px !important;
 
    }
 
}
 
@media only screen and (min-width: 428px){
 
    html {
 
        font-size: 26.75px !important;
 
    }
 
}
 
@media only screen and (min-width: 481px){
 
    html {
 
        font-size: 30px !important;
 
    }
 
}
 
@media only screen and (min-width: 569px){
 
    html {
 
        font-size: 35px !important;
 
    }
 
}
 
@media only screen and (min-width: 641px){
 
    html {
 
        font-size: 40px !important;
 
    }
 
}
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值