<strike id="3tkic"><sup id="3tkic"></sup></strike>

  1. <ul id="3tkic"></ul>
      <b id="3tkic"><legend id="3tkic"></legend></b>
      <b id="3tkic"><meter id="3tkic"></meter></b>

    • <strike id="3tkic"></strike>

      <blockquote id="3tkic"></blockquote>

    • 亚洲AV无码国产在丝袜线观看_亚洲第一页A∨在线_亚洲国产人成在线观看69网站_无码日韩人妻AV一区免费l

      移動(dòng)端適配方案具體實(shí)現(xiàn)以及對(duì)比

      2020/11/27 18:00:01   閱讀:6311    發(fā)布者:6311
      • media queries
      • flex 布局
      • rem + viewport
      • vh vw
      • 百分比
      • bootstrap

      一、Meida Queries

      meida queries 的方式可以說(shuō)是我早期采用的布局方式,它主要是通過(guò)查詢?cè)O(shè)備的寬度來(lái)執(zhí)行不同的 css 代碼,最終達(dá)到界面的配置。


      二、Flex 彈性布局

      以天貓的實(shí)現(xiàn)方式進(jìn)行說(shuō)明:
      它的 viewport 是固定的:<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">
      高度定死,寬度自適應(yīng),元素都采用 px 做單位。
      隨著屏幕寬度變化,頁(yè)面也會(huì)跟著變化,效果就和 PC 頁(yè)面的流體布局差不多,在哪個(gè)寬度需要調(diào)整的時(shí)候使用響應(yīng)式布局調(diào)

      三、rem+viewport 縮放

      實(shí)現(xiàn)原理:
      根據(jù) rem 將頁(yè)面放大 dpr 倍, 然后 viewport 設(shè)置為 1/dpr.

      如 iphone6 plus 的 dpr 為 3, 則頁(yè)面整體放大 3 倍, 1px(css 單位)在 plus 下默認(rèn)為 3px(物理像素)
      然后 viewport 設(shè)置為 1/3, 這樣頁(yè)面整體縮回原始大小. 從而實(shí)現(xiàn)高清。

      這樣整個(gè)網(wǎng)頁(yè)在設(shè)備內(nèi)顯示時(shí)的頁(yè)面寬度就會(huì)等于設(shè)備邏輯像素大小,也就是 device-width。這個(gè) device-width 的計(jì)算公式為:
      設(shè)備的物理分辨率/(devicePixelRatio * scale),在 scale 為 1 的情況下,device-width = 設(shè)備的物理分辨率/devicePixelRatio。

      四、rem 實(shí)現(xiàn)

      rem是相對(duì)長(zhǎng)度單位,rem方案中的樣式設(shè)計(jì)為相對(duì)于根元素font-size計(jì)算值的倍數(shù)。根據(jù)屏幕寬度設(shè)置html標(biāo)簽的font-size,在布局時(shí)使用 rem 單位布局,達(dá)到自適應(yīng)的目的。
      viewport 是固定的:<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no">。

      五、純 vw 方案


      視口是瀏覽器中用于呈現(xiàn)網(wǎng)頁(yè)的區(qū)域。

      vw : 1vw 等于 視口寬度 的 1%
      vh : 1vh  等于 視口高度 的 **1% **
      vmin : 選取 vw 和 vh 中 最小 的那個(gè)
      vmax : 選取 vw 和 vh 中 最大 的那個(gè)

      六、vw + rem 方案

      // scss 語(yǔ)法
      // 設(shè)置html根元素的大小 750px->75 640px->64
      // 將屏幕分成10份,每份作為根元素的大小。
      $vw_fontsize: 75
      @function rem($px) {
          // 例如:一個(gè)div的寬度為100px,那么它對(duì)應(yīng)的rem單位就是(100/根元素的大?。? 1rem
          @return ($px / $vw_fontsize) * 1rem;
      }
      $base_design: 750
      html {
          // rem與vw相關(guān)聯(lián)
          font-size: ($vw_fontsize / ($base_design / 2)) * 100vw;
          // 同時(shí),通過(guò)Media Queries 限制根元素最大最小值
          @media screen and (max-width: 320px) {
              font-size: 64px;
          }
          @media screen and (min-width: 540px) {
              font-size: 108px;
          }
      }

      // body 也增加最大最小寬度限制,避免默認(rèn)100%寬度的 block 元素跟隨 body 而過(guò)大過(guò)小
      body {
          max-width: 540px;
          min-width: 320px;
      }

      七、百分比

      使用百分比%定義寬度,高度用px固定,根據(jù)可視區(qū)域?qū)崟r(shí)尺寸進(jìn)行調(diào)整,盡可能適應(yīng)各種分辨率,通常使用max-width/min-width控制尺寸范圍過(guò)大或者過(guò)小。



      亚洲AV无码国产在丝袜线观看_亚洲第一页A∨在线_亚洲国产人成在线观看69网站_无码日韩人妻AV一区免费l
      <strike id="3tkic"><sup id="3tkic"></sup></strike>

      1. <ul id="3tkic"></ul>
          <b id="3tkic"><legend id="3tkic"></legend></b>
          <b id="3tkic"><meter id="3tkic"></meter></b>

        • <strike id="3tkic"></strike>

          <blockquote id="3tkic"></blockquote>

        • 轮台县| 黄浦区| 阿拉善盟| 南平市| 宣恩县| 遂川县| 湖口县| 琼海市| 阳高县| 新密市| 黔江区| 五家渠市| 临泉县| 铜梁县| 兴安盟| 奎屯市| 阳西县| 治县。| 措勤县| 大洼县| 静乐县| 府谷县| 龙海市| 吉木乃县| 泽库县| 新巴尔虎右旗| 广昌县| 达拉特旗| 新巴尔虎右旗| 云梦县| 黄大仙区| 沐川县| 乌审旗| 鄢陵县| 平乡县| 儋州市| 宣汉县| 磐安县| 青浦区| 田林县| 海城市|