移動端最新h5 vw 適配,基于webpack 打包多頁面html demo辣辫,開箱即用旦事。

騷年,放飛自我吧急灭!放心使用 vw 來做適配~

移動端h5 vw 適配姐浮,基于webpack4 打包多頁面html demo、支持es6葬馋,開箱即用卖鲤。

適合小白哈肾扰,大佬看到點完小星星?再繞路~小白也別忘記了點個星星!謝謝~

1蛋逾、在這里很多人有疑問集晚,為什么要用vw 單位來做適配?vw 和 我們常用rem適配方案有什么優(yōu)缺點区匣?

我相信大家對vw 和 rem 單位不會陌生偷拔。

vw、vh亏钩、vmin莲绰、vmax 這四個單位都是相對于視口的寬度。視口被均分為100單位的vw :

vw姑丑、vh vw是相對視口(viewport)的寬度而定的蛤签,長度等于視口寬度的1/100。 假如瀏覽器的寬度為200px彻坛,那么1vw就等于2px(200px/100)涉茧。

vh是相對視口(viewport)的高度而定的,長度等于視口高度的1/100孽糖。 假如瀏覽器的高度為500px福扬,那么1vh就等于5px(500px/100)。

vmin和vmax是相對于視口的高度和寬度兩者之間的最小值或最大值间驮。

如果瀏覽器的高為300px躬厌、寬為500px,那么1vmin就是3px竞帽,1vmax就是5px扛施。 如果瀏覽器的高為800px,寬為1080px屹篓,那么1vmin也是8px疙渣,1vmax也是10.8px。

彈性布局通常指的是rem或em布局堆巧,rem是相對于html元素的font-size大小而言的妄荔,而em是相對于其父元素(非font-size的是相對于自身的font-size)。 10px == 62.5%

html {font-size: 62.5%;/*10 ÷ 16 × 100% = 62.5%*/}

body {font-size: 1.4rem;/*1.4 × 10px = 14px */}

h1 { font-size: 2.4rem;/*2.4 × 10px = 24px*/}

不管vw 還是rem 都是非常不錯的一個長度單位谍肤,rem 適配的代表Flexible.js 方案啦租,被絕大部分公司引用,2013年那時荒揣,移動端興起篷角,需要適配多端。

當時rem 和 vw 兩個選擇系任? vw 在當時的條件下不夠成熟用來做適配的方案恳蹲,因為那時候的廠商對vw 的適配支持率低虐块、兼容性差。但是現(xiàn)在對移動端來說阱缓,大部分都已經(jīng)支持vw的適配了非凌,具體兼容的數(shù)據(jù),可以看 =>2

rem 的彈性布局荆针,在當時無疑成了不二的選擇敞嗡,兼容性好,不過有些小問題航背,都能hack喉悴,flexible可以說是一個非常優(yōu)秀的方案,也承載了一段時期的適配使命玖媚。大家有時間可以翻翻flexible 的源碼箕肃,通過js 動態(tài)改變根節(jié)點,來使rem 單位達到適配多端的效果今魔。

rem 是根據(jù)各種規(guī)則計算一個寬度勺像,然后把根元素的字體尺寸設(shè)置成這個寬度,然后使用rem設(shè)置各種子元素的寬度错森。其實最終rem 也是在模擬 vw ,那在現(xiàn)在大部分廠商都支持vw 吟宦,并且也有降級處理方案可以hack,我們何不直接用vw 呢涩维,相信未來會有越來越多的廠商完善支持vw殃姓。

包括flexible 團隊也建議大家可以放棄使用這個過渡的方案,可以采用vw 來解決適配問題瓦阐。

2蜗侈、現(xiàn)在對vw 的兼容性支持情況?

在移動端 iOS 8 以上睡蟋、 Android 4.4 以上踏幻、包括微信瀏覽器 新版x5 都支持vw。

可以在 Can I use 或者 css3test 查看兼容情況

想要適配低版本瀏覽器戳杀、低端機型也不是什么問題叫倍、也給出了解決方案。請看 => 3

在幾年前vw 之所以沒有流行起來的原因豺瘤,還是因為在當時兼容性不夠,講白了听诸,就是坑多坐求、大家都不愿意做第一個躺坑的人。

幾年時間過去晌梨,各大廠商對vw 對兼容升級桥嗤、低端機型占比逐步減少须妻,vw 的適配方案也慢慢的浮出了水面,大家重新對它有了新的認識泛领。包括我們業(yè)界知名的大漠荒吏,他們在手淘已經(jīng)對vw 適配方案有了一年多的實踐時間。

3渊鞋、不支持vw 的瀏覽器的解決方案绰更?

低版本瀏覽器、低端機型不支持的情況下锡宋,我們可以hack 儡湾,在部分瀏覽器上不顯示圖片,可以加上全局解決 img {content: normal !important} https://github.com/rodneyrehm/viewport-units-buggyfill 項目中引用

? window.onload=function() {window.viewportUnitsBuggyfill.init({hacks:window.viewportUnitsBuggyfillHacks? });? }

github 歡迎小星星 請點擊: vw 適配 github 地址

如果你已經(jīng)裝了git 的話执俩,可以走以下步驟徐钠。

git clone https://github.com/caoxiaoke/html-vw-layout.git

cd html-vw-layout

執(zhí)行步驟:npm install 或者 sudo npm install

開發(fā)環(huán)境 npm run start || 開發(fā)環(huán)境 http://localhost:8080 查看效果

生產(chǎn)打包 npm run build

如果你不使用react 也不使用vue ,在項目中只使用html頁面 vw實現(xiàn)移動端適配役首,請點這 《如何在html項目中使用vw實現(xiàn)移動端適配》

在react項目中使用vw實現(xiàn)移動端適配 請參考?《如何在react項目中使用vw實現(xiàn)移動端適配》?

###Demo

Galaxy Note 3

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/Galaxy%20Note%203.png

Galaxy S5

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/Galaxy%20S5.png

Nexus 7 https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/Nexus%207.png

iPad Pro

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/iPad%20Pro.png

iPad

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/iPad.png

iPhone 5_SE

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/iPhone%205_SE.png

iPhone 6_7_8 Plus

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/iPhone%206_7_8%20Plus.png

iPhone 6_7_8

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/iPhone%206_7_8.png

iPhone X

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/iPhone%20X.png

華為P10 PLUS 1440_2560

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/%E5%8D%8E%E4%B8%BAP10%20PLUS%201440_2560.png

華為P20

https://github.com/caoxiaoke/html-vw-layout/blob/master/src/images/%E5%8D%8E%E4%B8%BAP20.png

iPhone 6_7_8

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末尝丐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子衡奥,更是在濱河造成了極大的恐慌爹袁,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,651評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件杰赛,死亡現(xiàn)場離奇詭異呢簸,居然都是意外死亡,警方通過查閱死者的電腦和手機乏屯,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,468評論 3 392
  • 文/潘曉璐 我一進店門根时,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辰晕,你說我怎么就攤上這事蛤迎。” “怎么了含友?”我有些...
    開封第一講書人閱讀 162,931評論 0 353
  • 文/不壞的土叔 我叫張陵替裆,是天一觀的道長。 經(jīng)常有香客問我窘问,道長辆童,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,218評論 1 292
  • 正文 為了忘掉前任惠赫,我火速辦了婚禮把鉴,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己庭砍,他們只是感情好场晶,可當我...
    茶點故事閱讀 67,234評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怠缸,像睡著了一般诗轻。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揭北,一...
    開封第一講書人閱讀 51,198評論 1 299
  • 那天扳炬,我揣著相機與錄音,去河邊找鬼罐呼。 笑死鞠柄,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的嫉柴。 我是一名探鬼主播厌杜,決...
    沈念sama閱讀 40,084評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼计螺!你這毒婦竟也來了夯尽?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,926評論 0 274
  • 序言:老撾萬榮一對情侶失蹤登馒,失蹤者是張志新(化名)和其女友劉穎匙握,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體陈轿,經(jīng)...
    沈念sama閱讀 45,341評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡圈纺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,563評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了麦射。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蛾娶。...
    茶點故事閱讀 39,731評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖潜秋,靈堂內(nèi)的尸體忽然破棺而出蛔琅,到底是詐尸還是另有隱情,我是刑警寧澤峻呛,帶...
    沈念sama閱讀 35,430評論 5 343
  • 正文 年R本政府宣布罗售,位于F島的核電站,受9級特大地震影響钩述,放射性物質(zhì)發(fā)生泄漏寨躁。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,036評論 3 326
  • 文/蒙蒙 一牙勘、第九天 我趴在偏房一處隱蔽的房頂上張望职恳。 院中可真熱鬧,春花似錦、人聲如沸话肖。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,676評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽最筒。三九已至,卻和暖如春蔚叨,著一層夾襖步出監(jiān)牢的瞬間床蜘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,829評論 1 269
  • 我被黑心中介騙來泰國打工蔑水, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留邢锯,地道東北人。 一個月前我還...
    沈念sama閱讀 47,743評論 2 368
  • 正文 我出身青樓搀别,卻偏偏與公主長得像丹擎,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子歇父,可洞房花燭夜當晚...
    茶點故事閱讀 44,629評論 2 354

推薦閱讀更多精彩內(nèi)容