zoukankan      html  css  js  c++  java
  • 最优适配布局

    背景:由于老生常谈的兼容问题,不建议使用 viewport 缩放。

    移动端的响应式布局需要通过设置 media queries 配置多个断点,在响应断点切换的瞬间带来断层式的切换变化,用户体验不佳。

    而采用 rem 单位的弹性布局,又需要脚本依赖(头部内嵌:监听分辨率变换,根元素字体随之变换的脚本),耦合不佳。

    解决方法:利用 视口单位vw + rem 实现适配(已主流)。

    了解:1vw 等于视口宽度的 1%,移动端,PC 端都是视口宽度 100vw,高度 100vh。

    总结与示例:变化的根元素搭配 rem,摘自 张鑫旭  基于vw等viewport视区单位配合rem响应式排版和布局

    html {
        font-size: 16px;
    }
    
    @media screen and (min- 375px) {
        html {
            /* iPhone6的375px尺寸作为16px基准,414px正好18px大小, 600 20px */
            font-size: calc(100% + 2 * (100vw - 375px) / 39);
            font-size: calc(16px + 2 * (100vw - 375px) / 39);
        }
    }
    @media screen and (min- 414px) {
        html {
            /* 414px-1000px每100像素宽字体增加1px(18px-22px) */
            font-size: calc(112.5% + 4 * (100vw - 414px) / 586);
            font-size: calc(18px + 4 * (100vw - 414px) / 586);
        }
    }
    @media screen and (min- 600px) {
        html {
            /* 600px-1000px每100像素宽字体增加1px(20px-24px) */
            font-size: calc(125% + 4 * (100vw - 600px) / 400);
            font-size: calc(20px + 4 * (100vw - 600px) / 400);
        }
    }
    @media screen and (min- 1000px) {
        html {
            /* 1000px往后是每100像素0.5px增加 */
            font-size: calc(137.5% + 6 * (100vw - 1000px) / 1000);
            font-size: calc(22px + 6 * (100vw - 1000px) / 1000);
        }
    }

    引申1:满汉全席版,摘自大漠  如何在Vue项目中使用vw实现移动端适配-20180125 

    引申2:题外,摘自 xueui 网  详细讲解像素,分辨率和适配

    引申3:淘宝适配  淘宝适配

    假若需要兼容旧版系统,再配合 脚本补丁 食用,不过这是大厂的日常了。

  • 相关阅读:
    leetcode78 Subsets
    leetcode76 Minimum Window Substring
    leetcode73 Set Matrix Zeroes
    leetcode70 Climbing Stairs
    leetcode50 Pow(x, n)
    leetcode49 Group Anagrams
    leetcode48 Rotate Image
    正则表达式及字符处理
    RPM软件包管理.作业
    yum管理RPM包.作业
  • 原文地址:https://www.cnblogs.com/yuqlblog/p/8616814.html
Copyright © 2011-2022 走看看