zoukankan      html  css  js  c++  java
  • 如何使用rem

    相信很多人接触的第一个网页尺寸单位是px, 表示一个像素点的大小
    我们收到的设计师的设计稿也是以px为标准

    但手机的屏幕是大小不一的, 在iPhone8上展示的很好的效果, 在iPhone5s上可能就完全走了样, 为了在不同尺寸的屏幕上,都有很好的展示效果, 我们需要对网页进行缩放
    rem是一个很有意思的单位, 1rem的尺寸等于html的font-size的尺寸, 也就是
    html{
    font-size: 100px;
    }

    那么, 1rem就等于100px

    我们可以通过屏幕的宽度, 动态改变 html下font-size的大小, 从而实现网页的缩放
    calc是一个css3自带的函数, 可以实现简单的加减乘除(可以用来取代sass的部分功能)
    rem与calc结合使用, 就可以用极简单的代码实现,多种屏幕的适配

    效果如图所示

    如何使用rem
    <script>
        // 获取设备像素比(dpr -> devicePixelRatio)
        var dpr = window.devicePixelRatio;
        // 动态设置设备缩放比
        var metaTag=document.createElement('meta');
        metaTag.name = "viewport"
        metaTag.setAttribute('content', 'initial-scale=' + 1/dpr + ', maximum-scale=' + 1/dpr + ', minimum-scale=' + 1/dpr + ', user-scalable=no');
        document.getElementsByTagName('head')[0].appendChild(metaTag);
    </script>
    
    <script>
        // 动态设置html的字体大小(页面宽度为1rem)
        document.addEventListener('DOMContentLoaded', function(e) {
            document.getElementsByTagName('html')[0].style.fontSize = window.innerWidth + 'px';
        }, false);
    </script>
    
    <style>
        body{
            text-align: center;
            margin: 0;
            padding: 0;
            line-height: 0;
            
        }
    
        table{
             100%;
        }
    
        .icon{
             calc(196rem / 375);
            margin: calc(100rem / 375) 0 0 0;
        }
        .name{
            margin: calc(30rem / 375) 0 0 0;
            font-size: calc(30rem / 375);
            line-height: calc(30rem / 375);
            color: #64B587;
        }
    </style>
    
    <table>
        <tbody>
            <tr><td><img src="girl.png" class="icon"></img></td></tr>
            <tr><td><p class="name">Yara Barros</p></td></tr>
        </tbody>
    </table>
    

    小结:
    rem是一个动态定义的单位, 结合css3自带的calc函数, 能让我们写一套代码, 轻松适配各种尺寸的屏幕, 另外, 写calc函数的时候, 运算符前后一定要留空格哦~

    作者:木子昭
    链接:https://www.jianshu.com/p/8d7c8c373148
    來源:简书
    简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

  • 相关阅读:
    js大文件上传(切片)
    前端大文件上传(切片)
    vue大文件上传(切片)
    网页大文件上传(切片)
    web大文件上传(切片)
    FCKEditor 实现ctrl+v粘贴图片并上传、word粘贴带图片
    umeditor 实现ctrl+v粘贴图片并上传、word粘贴带图片
    百度web编辑器 实现ctrl+v粘贴图片并上传、word粘贴带图片
    百度编辑器 实现ctrl+v粘贴图片并上传、word粘贴带图片
    百度ueditor 实现ctrl+v粘贴图片并上传、word粘贴带图片
  • 原文地址:https://www.cnblogs.com/snmic/p/10404775.html
Copyright © 2011-2022 走看看