如何利用vw+rem進行移動端布局

來源:互聯網
上載者:User

標籤:alt   適配   切換   移動端開發   body   設定   get   一點   vmax   

根據CSS3規範,視口單位主要包括以下4個:
  • vw : 1vw 等於視口寬度的1%
  • vh : 1vh 等於視口高度的1%
  • vmin : 選取 vw 和 vh 中最小的那個
  • vmax : 選取 vw 和 vh 中最大的那個

用視口單位度量,視口寬度為100vw,高度為100vh(左側為豎屏情況,右側為橫屏情況)

例如,在案頭端瀏覽器視口尺寸為650px,那麼 1vw = 650 * 1% = 6.5px(這是理論推算的出,如果瀏覽器不支援0.5px,那麼實際渲染結果可能是7px)。

相容性

利用適口單位適配頁面

對於移動端開發來說,最為重要的一點是如何適配頁面,實現多終端的相容,不同的適配方式各有千秋,也各有缺點。

就主流的響應式布局、彈性布局來說,通過Media Queries 實現的布局需要配置多個響應斷點,而且帶來的體驗也對使用者十分的不友好:布局在響應斷點範圍內的解析度維持不表,而在響應斷點切換的瞬間,布局帶來斷層式的切換變換,如同卡帶的唱機般"哢哢哢"地一又一下。

而通過採用rem單位的動態計算的彈性布局,則是需要在頭部內嵌一段指令碼來進行監聽解析度的變化來動態改變根項目字型大小,使得CSS於JS耦合了在一起。

有沒有辦法能夠解決這樣的問題呢?

答案是肯定,通過利用適口單位實現適配的頁面,是既能解決響應式斷層問題,又能解決指令碼依賴的問題的。

用法以iPhone6為基準(750)

第一步一般來說,我都會對移動端進行meta標籤設定

<meta name="viewport" content="width=device-width, initial-scale=2.0, maximum-scale=2.0, minimum-scale=2.0, user-scalable=no">

因為iPhone6以及大多數的dpr為2,為了第二步的方便進行換算

第二步設定body、html的font-size

body,html {    font-size: 13.3333333333333vw // 100px}
13.3333333333333vw怎麼來?

100 / 750 = 0.133333333333333vw 我們把這個適口當做100px,然後除於750換算得出 1px = 0.133333333333333vw 那麼整個適口等於 0.133333333333333 * 100 = 13.3333333333333vw = 100px

最終於得出 100px = 1rem

通過這樣子換算我們利用vw把rem轉換成了以100px為基準

那麼在項目上就很好地可以進行使用了

div {     // width: 100px;     width: 1rem; }span {   // height: 12px    height: .12rem}

如何利用vw+rem進行移動端布局

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.