傻瓜式移动端适配——媒体查询和rem

一、当只有两套设计图的情况下,一套pc 一套移动端

(一般为了用户体验更好,不会只有一套设计图)

 

1、禁止移动端缩放,且让屏幕layout viewpoint 横向css像素=屏幕横向的dips(定值)

<meta name="viewport" content="width=device-width,initial-scale=1.0, minimun-scale=1.0,maximum-scale=1.0,user-scalable=no">

 

2、动态设置html的字体大小以使用rem

乘以100让1rem = 100px,而不是 1rem=0.5px 字体大小如果小于12px(谷歌浏览器最小字体,小于12的强制设为12,所以需要乘以100)计算容易出错

问题代码: 无法实时响应移动端窗口变化来更新rem,必须刷新窗口

      function setFontSize(){

          if (document.documentElement.clientWidth < 1200) {

              document.documentElement.style.fontSize = document.documentElement.clientWidth / 750 * 100 + 'px';

              //clientWidth是当前屏幕的大小 document.documentElement.style.fontSize 是html元素的字体大小 决定rem的单位大小

          }

      }

      window.onresize = setFontSize(); //调整大小时设置值一次

      window.onload = setFontSize(); //刷新时也要设置值一次

//不行 事件必须是匿名函数!

 

解决方法:

        window.onresize = function() {

            if (document.documentElement.clientWidth < 1200) {

              document.documentElement.style.fontSize = document.documentElement.clientWidth / 750 * 100 + 'px';

            }

        };

        window.onload = function () {

            if (document.documentElement.clientWidth < 1200) {

              document.documentElement.style.fontSize = document.documentElement.clientWidth / 750 * 100 + 'px';

            }

        };

 

3、媒体查询动态查询屏幕大小加载不同的css模块 

@media screen and (max-width:1200px){

    ...css代码

} //当屏幕最大为1200px时,即屏幕小于1200px时 =>运用移动端的css方案

@media screen and (min-width:1200px){

    ...css代码

} //当屏幕最小为1200px时,即屏幕大于1200px时 =>运用pc端的css方案

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值