移动端最新h5 vw 适配,基于webpack 打包多页面html demo,开箱即用。

骚年,放飞自我吧!放心使用 vw 来做适配~

移动端h5 vw 适配,基于webpack4 打包多页面html demo、支持es6,开箱即用。

适合小白哈,大佬看到点完小星星✨再绕路~小白也别忘记了点个星星!谢谢~

1、在这里很多人有疑问,为什么要用vw 单位来做适配?vw 和 我们常用rem适配方案有什么优缺点?

我相信大家对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 的适配支持率低、兼容性差。但是现在对移动端来说,大部分都已经支持vw的适配了,具体兼容的数据,可以看 =>2

rem 的弹性布局,在当时无疑成了不二的选择,兼容性好,不过有些小问题,都能hack,flexible可以说是一个非常优秀的方案,也承载了一段时期的适配使命。大家有时间可以翻翻flexible 的源码,通过js 动态改变根节点,来使rem 单位达到适配多端的效果。

rem 是根据各种规则计算一个宽度,然后把根元素的字体尺寸设置成这个宽度,然后使用rem设置各种子元素的宽度。其实最终rem 也是在模拟 vw ,那在现在大部分厂商都支持vw ,并且也有降级处理方案可以hack,我们何不直接用vw 呢,相信未来会有越来越多的厂商完善支持vw。

包括flexible 团队也建议大家可以放弃使用这个过渡的方案,可以采用vw 来解决适配问题。

2、现在对vw 的兼容性支持情况?

在移动端 iOS 8 以上、 Android 4.4 以上、包括微信浏览器 新版x5 都支持vw。

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

想要适配低版本浏览器、低端机型也不是什么问题、也给出了解决方案。请看 => 3

在几年前vw 之所以没有流行起来的原因,还是因为在当时兼容性不够,讲白了,就是坑多、大家都不愿意做第一个躺坑的人。

几年时间过去,各大厂商对vw 对兼容升级、低端机型占比逐步减少,vw 的适配方案也慢慢的浮出了水面,大家重新对它有了新的认识。包括我们业界知名的大漠,他们在手淘已经对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 地址

如果你已经装了git 的话,可以走以下步骤。

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

cd html-vw-layout

执行步骤:npm install 或者 sudo npm install

开发环境 npm run start || 开发环境 http://localhost:8080 查看效果

生产打包 npm run build

如果你不使用react 也不使用vue ,在项目中只使用html页面 vw实现移动端适配,请点这 《如何在html项目中使用vw实现移动端适配》

在react项目中使用vw实现移动端适配 请参考 《如何在react项目中使用vw实现移动端适配》 

###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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,015评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,262评论 1 292
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,727评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,986评论 0 205
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,363评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,610评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,871评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,582评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,297评论 1 242
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,551评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,053评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,385评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,035评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,079评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,841评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,648评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,550评论 2 270

推荐阅读更多精彩内容