• 手机端rem配置及媒体查询


    手机端rem配置及媒体查询
    手机端meta标签配置
    rem根据页面宽度调整根字体大小
    媒体查询
    px2rem插件在vue中的使用方法(把px转换为rem)
    手机端meta标签配置
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/>
    1
    rem根据页面宽度调整根字体大小
    (function (doc, win) {
    var docEl = doc.documentElement,
    resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
    recalc = function () {
    var clientWidth = docEl.clientWidth;
    if (!clientWidth) return;
    docEl.style.fontSize = 24 * (clientWidth / 640) + 'px';
    };
    if (!doc.addEventListener) return;
    win.addEventListener(resizeEvt, recalc, false);
    doc.addEventListener('DOMContentLoaded', recalc, false);
    })(document, window);
    // 这里在640的设备上1rem = 24px,在其他屏幕宽的时候会自动根据这个比例来动态调整
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    媒体查询
    //第一种
    @media screen and (min- 320px){html{font-size:312.5%} }
    @media screen and (min- 360px){html{font-size:351.56%} }
    @media screen and (min- 400px){html{font-size:390.63%} }
    @media screen and (min- 440px){html{font-size:429.69%} }
    @media screen and (min- 480px){html{font-size:468.75%} }
    @media screen and (min- 520px){html{font-size:507.81%} }
    @media screen and (min- 560px){html{font-size:546.88%} }
    @media screen and (min- 600px){html{font-size:585.94%} }
    @media screen and (min- 640px){html{font-size:625%} }

    //第二种
    //以750为基准设置font-size为100px
    html{
    font-size: 38px;
    }
    @media only screen and (min- 320px) {
    html {
    font-size: 42.666px !important;
    }
    }
    @media only screen and (min- 360px) {
    html {
    font-size: 48px !important;
    }
    }
    @media only screen and (min- 375px) {
    html {
    font-size: 50px !important;
    }
    }
    @media only screen and (min- 414px) {
    html {
    font-size: 55.2px !important;
    }
    }
    @media only screen and (min- 480px) {
    html {
    font-size: 64px !important;
    }
    }
    @media only screen and (min- 560px) {
    html {
    font-size: 74.666px !important;
    }
    }
    @media only screen and (min- 640px) {
    html {
    font-size: 85.333px !important;
    }
    }
    @media only screen and (min- 720px) {
    html {
    font-size: 96px !important;
    }
    }
    @media only screen and (min- 750px) {
    html {
    font-size: 100px !important;
    }
    }
    @media only screen and (min- 800px) {
    html {
    font-size: 106.666px !important;
    }
    }
    @media only screen and (min- 960px) {
    html {
    font-size: 128px !important;
    }
    }
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    px2rem插件在vue中的使用方法(把px转换为rem)
    1、安装px2rem-loader

    npm install px2rem-loader
    1
    2、配置px2rem-loader

    //在build文件中找到util.js,将px2rem-loader添加到cssLoaders中,如:
    const cssLoader = {
    loader: 'css-loader',
    options: {
    minimize: process.env.NODE_ENV === 'production',
    sourceMap: options.sourceMap
    }
    }
    const px2remLoader = {
    loader: 'px2rem-loader',
    options: {
    remUnit: 50, /* 此处50为可调整的值 */
    remPrecision: 8 /* px转rem的精度 ,默认是6*/
    }
    }

    同时把generateLoaders方法中这行
    const loaders = options.usePostCSS ? [cssLoader, postcssLoader] : [cssLoader]
    替换成这个
    const loaders = options.usePostCSS ? [cssLoader, postcssLoader, px2remLoader] : [cssLoader, px2remLoader]
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    备注:remUnit: 50 /* 此处50为可调整的值 */此处50由设计稿尺寸决定(eg:当设计稿为375时,打开网页进入调试模式将网页宽度调整至与设计稿相同,得到的html的font-size即为需要设置的值)
    默认是将所有的px转换为rem,对于那些不需要转换的如1px border可设置为/*no*/
    即不转换为rem

    border: 1px;/*no*/
    font-size: 20px;/*px*/
    ————————————————
    版权声明:本文为CSDN博主「haogemr」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
    原文链接:https://blog.csdn.net/document_dom/article/details/88559032

  • 相关阅读:
    webpack入门
    react中的this.setState()
    Echarts学习之路3(在react中使用)
    Echarts学习之路2(基本配置项)
    react+mobx脚手架搭建多页面开发
    解决使用插件带来的页面弹框滚动穿透问题
    屏蔽微信内置底部前进后退按钮(很迫切的需求)
    input框输入金额处理的解决办法
    git仓库的创建以及本地代码上传
    又发现了一个git clone代码失败时的解决办法
  • 原文地址:https://www.cnblogs.com/xuyanjiayou/p/12120929.html
Copyright © 2020-2023  润新知