基於 vw 單位的移動端適配方案學習筆記

基於 vw 單位的移動端適配方案學習筆記

回顧並總結一下移動端適配的一些知識

前提要求

  1. "head"裏添加"meta"

    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
  2. 兼容性,ie9+ (ie8 讓它自個兒玩去吧)

計算 html 的"font-size"

// 設計稿寬度, 750|640|520
var designWith = 750

// 設計稿上1px對應設備上多少個單位的vw, 100vw表示設備屏幕寬度
var vw = 100 / designWith

// html的font-size的大小
// 同時也是單位rem的大小
// 爲了方便後面的尺寸計算,放大100倍,即設計稿上的100px;
var fontSize = 100 * vw

// 設置html的font-size, 可以直接寫在 css 裏面
document.getElementsByTagName("html")[0].style.fontSize = fontSize + "vw"

使用

設計稿上元素的尺寸(px): eleWidth

.ele {
    width: (eleWidth/100)rem;
}

code

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" />
        <meta http-equiv="X-UA-Compatible" content="ie=edge" />
        <title>Document</title>

        <style>
            html {
                font-size: 13.33333333vw;
                /* 設計稿750px; 此時,1rem對應設計稿上的100px */
            }

            html,
            body {
                margin: 0;
            }

            body {
                /* 設置默認的字體大小,這裏的0.32rem=16px */
                font-size: 0.32rem;
            }

            .list {
                list-style: none;
                padding-left: 0;
                margin: 0;
            }

            .list::after {
                content: "";
                clear: both;
            }

            .box {
                float: left;
                width: 2.5rem;
                height: 2.5rem;
            }
        </style>
    </head>
    <body>
        <ul class="list">
            <li class="box" style="background-color: #2196f3">box 01</li>
            <li class="box" style="background-color: #8bc34a">box 02</li>
            <li class="box" style="background-color: #ff5722">box 03</li>
        </ul>
    </body>
</html>
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章