前言
作为一个小前端,经常要和H5打交道,这就面临着不同终端的适配问题。
Flexible方案通过Hack手段来根据设备的dpr值相应改变<meta>标签中viewport的值,给我更贴切的体会就是通过js脚本根据设备的dpr和设计图的宽度来计算出html的font-size值,然后就运用rem单位开发可以等比例缩放的H5页面。
但是!Flexible已经完成了他自身的历史使命,我们可以放下Flexible,拥抱新的变化。
做到适配要解决的问题
- 在移动端布局,我们需要面对两个最为重要的问题:
- 各终端下的适配问题
- Retina屏的细节处理
不同的终端,我们面对的屏幕分辨率、DPR、1px、2x图等一系列的问题。那么这个布局方案也是针对性的解决这些问题,只不过解决这些问题不再是使用Hack手段来处理,而是直接使用原生的CSS技术来处理的。
适配终端
以前的Flexible方案是通过JavaScript来模拟vw的特性,那么到今天为止,vw已经得到了众多浏览器的支持,也就是说,可以直接考虑将vw单位运用于我们的适配布局中。
vw是基于Viewport视窗的长度单位,这里的视窗(Viewport)指的就是浏览器可视化的区域,而这个可视区域是window.innerWidth/window.innerHeight的大小。用下图简单的来示意一下:
蓝色区域就是 window.innerWidth 和 window.innerHeight
在CSS Values and Units Module Level 3中和Viewport相关的单位有四个,分别为vw、vh、vmin和vmax。
- vw:是Viewport's width的简写,1vw等于window.innerWidth的1%
- vh:和vw类似,是Viewport's height的简写,1vh等于window.innerHeihgt的1%
- vmin:vmin的值是当前vw和vh中较小的值
- vmax:vmax的值是当前vw和vh中较大的值
如果设计稿用750px宽度的,100vw = 750px,即1vw = 7.5px。那么我们可以根据设计图上的px值直接转换成对应的vw值。如果不想自己计算,我们可以使用PostCSS的插件postcss-px-to-viewport,让我们可以直接在代码中写px。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
viewport,vm,移动端
更新动态
- 江蕙1996-台语畅销全曲珍藏版2CD[台湾][WAV整轨]
- 单依纯《想你时风起》开盘母带[低速原抓WAV+CUE]
- 群星.1990-宝丽金巨星荟萃(引进版)【宝丽金】【WAV+CUE】
- 电影原声大碟《速度与激情4》2009[WAV+CUE]
- 群星《90后经典流行歌曲精选五百首》[320K/MP3][5.4G]
- 《张宇 苦情歌 3CD》[WAV+CUE][2.2GB]
- 刀郎《2020年精选歌曲》[FLAC/分轨][305.6MB]
- 魏如萱2011-不允许哭泣的场合[亚神音乐][WAV+CUE]
- 张敬轩.2005-我的梦想我的路【几何娱乐】【WAV+CUE】
- 林一峰2003-TRAVELOGUE1游乐[香港首版][WAV+CUE]
- 刘德华《1999-2011年演唱会》[MKV][33.4G]
- 邓紫棋《2013年演唱会》[MKV][15.8G]
- 《张杰 无损音乐合集 2005-2023》[FLAC/分轨][11.8GB]
- 【休闲沙发】VA-2024-TranquilHorizons:ChilloutYourMind(FLAC)
- 【休闲沙发】VA-SeaMelodies:ChilloutYourMind(2024)[FLAC]