• 技术文章 >web前端 >css教程

    两种移动端rem布局实现方法

    小云云小云云2018-01-04 17:05:06原创1351
    据了解,现在有两种rem布局的样式控制,其中一种是通过css的媒体查询,另外一种是通过引入js来控制,这两种方法各有各的优点,但是我还是喜欢用引入js的方法来实现rem布局,尽管现在市面上大多数都在使用css媒体查询的方式实现,在此我就将这两种方法做一总结:

    方法一:常用方法,css媒体查询

    @media only screen and (max-width: 600px), only screen and (max-device-width:400px) {
      html,body {
        font-size:50px;
      }
    }
    @media only screen and (max-width: 500px), only screen and (max-device-width:400px) {
      html,body {
        font-size:40px;
      }
    }
    @media only screen and (max-width: 400px), only screen and (max-device-width:300px) {
      html,body {
        font-size:30px;
      }
    }
    .box{
      border: 1rem solid #000;
      font-size: 1rem;
    }

    对于这种方法而言,他仅仅通过css文件就可以实现,在加载页面的过程中,请求的文件较少,但是如果使用的两个移动端设备屏幕宽度相差不大,都在媒体查询所设置的同一区间,那么页面中的文字大小等不会变化,可是使用引入js的方法就不一样了。

    方法二:引入js

    // 需求:根据设计图的比例去动态设置不同屏幕下面对应的font-size值
    // 这段JS不要添加入口函数,并且引用的时候放到最前面
    // ui的大小根据自己的需求去改
    // 设计图的宽度
    var ui = 750;
    // 自己设定的font值
    var font = 40;
    // 得到比例值
    var ratio = ui/font;
    var oHtml = document.documentElement;
    var screenWidth = oHtml.offsetWidth;
    // 初始的时候调用一次
    getSize();
    window.addEventListener('resize', getSize);
    // 在resize的时候动态设置fontsize值
    function getSize(){
      screenWidth = oHtml.offsetWidth;
      // 限制区间
      if(screenWidth <= 320){
        screenWidth = 320;
      }else if(screenWidth >= ui){
        screenWidth = ui;
      }
      oHtml.style.fontSize = screenWidth/ratio + 'px';
    }

    这种通过引入js的方法,面对不同尺寸的移动端设备,都能实现文字大小等尺寸的细微变化。

    相关推荐:

    移动端页面开发适配 rem布局原理

    手机页面rem布局_html/css_WEB-ITnose

    JavaScript中rem布局在react中的应用_javascript技巧

    以上就是两种移动端rem布局实现方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:方法 实现 布局
    上一篇:CSS定位中Positoin、absolute、Relative的一些研究 下一篇:纯css实现树形结构方法教程
    PHP编程就业班

    相关文章推荐

    • 利用CSS也可以处理图片,转为“像素风”!• 如何利用CSS来美化滑动输入条?自定义样式方法浅析• css3怎么设置rotate旋转点• 2022年你值得了解的几个CSS新特性(收藏学习)• 深入了解CSS动画新特性:@scroll-timeline

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网