移动端屏幕的适配

因为对H5较感兴趣,所以没事的时候会看一些文章博客。

废话不多说,先引入问题,

关于移动端屏幕的适配你有没有什么想说的 ?
首先 我之前一直使用的就是这种Rem 缩放的方法去做的,content= “width= device-width”,initial-scale=1.0,可以实现针对不同屏幕实现缩放效果,并且不出现滚动条,

而在内容部分使用 Rem进行对等比缩放,我们知道Rem 是一个相对长度 单位,它的大小会根据HTML根元素设置的font-size的大小进行换算,

根元素(html)先设置一个font-size,一般情况下为了容易计算rem的值,会将根元素设置为62.5%,因为默认状态下,浏览器的默认文字大小为16px,16*0.625=10px,这样就有1rem=10px,用到数值就很容易计算。

今日 “啃先生 ”文章有提到另一种适配方法,vw,vh,见猎心起故留下了文章,文章中提到vw,vh的方法形似100%适配方法,

前面写了两篇移动适配相关的文章:

《移动Web怎么做屏幕适配(一)》重点介绍了怎样利于rem来处理尺寸(width、height、margin、padding等等)相关的适配。

《一个像素的border怎么实现》通过介绍1个物理像素border的实现,引出viewport、物理像素、CSS像素的概念,以及它们之间的关系。

这是移动适配相关的第三篇文章,介绍vw、vh,然后对三篇文章做一个总结。

屏幕适配是一个很容易被忽略的问题,但对于精益求精的产品而言,是必不可少的。对于Web开发的求职者而言,也是一个必需要理解清楚的经典问题

貳 | Second

其实,尺寸(width、height、margin、padding等等)相关的适配,除了使用rem以外,还可以使用CSS3的vh和vw。

Length units representing 1% of the viewport size for viewport width (vw), height (vh), the smaller of the two (vmin), or the larger of the two (vmax).

意思是

vw代表viewport宽度的1%,即viewport宽度被划分为100份,1vw代表1份的宽度。

vh是高度。规律跟vw一样。

wmin是vh和vw中较小者;vmax是vh和vw中较大者

咋一看,不就是CSS中的百分比嘛?

div{ width = 1vw; }

等同于

div{ width:1%; }

也没错,但是当我们想实现类似九宫格图片的时候,就能感受到它的魔性了。

例如要实现上面的图片布局,即三张图占满一整屏,而每张图都是正方形,用vw怎么实现?代码如下:

如果使用%,纯粹用CSS是无法实现的,除非JS计算动态设置。

那么vw、vh的兼容性如何呢?看看下图caniuse.com的查询结果,移动端安卓4.3自带浏览器不支持。

soga,看起来很简单。那么问题来了,为什么之前的文章要费那么大力气写rem?

叁 | Third

看到这里,可以休息一小段了,现在对三篇文章做一个总结

回顾上一期写1个物理像素border的实现的时候,提到有两种实现方法:

整个页面缩放,viewport 设置 scale

单个元素缩放,transform scale

其中,对单个元素的边框进行缩放的方案无法实现圆角。而整个页面缩放的方案跟CSS标准一样实现。

vw(vh)和rem要解决的是尺寸相关的适配,对比vw(vh)跟rem的区别:
1. 兼容性,vw不兼容安卓4.3及以下自带浏览器

2. px转rem的插件较为丰富

那么,安卓4.3及以下操作系统在国内的市场份额是多少呢?友盟的统计结果是约31%,量较大。

因此较为稳妥的方案还是rem。

所以当拿到一个移动端Web项目,我的决策思路如下:

时间: 2024-12-16 23:05:31

移动端屏幕的适配的相关文章

XSuperMES移动端运用FragmentActivity适配大屏幕(一)

XSuperMES移动端运用FragmentActivity适配大屏幕 XSuperMES移动端运行在各种各样的设备中,有小屏幕的手机,超大屏的平板甚至电视.针对屏幕尺寸的差距,很多情况下,都是先针对手机开发一套app,然后拷贝一份,修改布局以适应什么超级大屏的.难道无法做到一个app可以同时适应手机和平板吗?答案是,当然有,那就是Fragment.Fragment出现的初衷就是为了解决这样的问题. 你可以把Fragment当成Activity一个界面的一部分,甚至Activity的界面由完全不

移动端屏幕适配原理以及方法讲解

序言: 今天周日,我正坐在黄埔区图书馆,思索着关于移动端屏幕适配的问题.作为一名年纪轻轻的前端马蓉,不,是码农,移动端屏幕适配的方案的帖子没读过100篇吧,也读过几十篇了.可是今天我又在思考这个问题了,因为下周我有个关于移动端适配的演讲.人生这么短暂,我却把有限的时间奉献到了无限的前端道路上. 根据我不(cong)太(ming)灵(jue)活(ding)的大脑的努力思考.我发现现阶段比较流行移动端适配原理只有一个--就是对元素进行放大和缩小,具体到执行的时候方法有两个(求不打脸). 1个是网页大

移动端rem.js适配屏幕

九月已成历史,十月如期而至...可能是九月工作比较清闲,周记就没怎么写,十月决不能这么堕落,立贴为证,至少保证5篇博客!!!如果没学到什么新知识,就对以往的那些工作中常用到的知识点做个总结...话不多说,今天就来谈谈移动端的rem适配...本文将从rem是什么.为什么要用rem适配.怎么用rem来讲解,保证浅显易懂... 1.什么是rem rem(font size of the root element)是指相对于根元素(<html>)的字体大小的单位.简单的说它就是一个相对单位.看到rem

关于移动端页面的适配

移动端页面: 适配,适应各个不同的设备,如果是纯粹的移动端页面的话不用去考虑ipad,PC. 浏览器,微信(朋友圈),QQ(内置浏览器),UC 小米,华为会有部分兼容问题. 响应式: 必须共享一套html结构,样式不同而已,通过设备的分辨率来自动去切换样式 只适用于简单页面:博客,新闻,简单的公司门户: viewport 一般默认手机网页采用980px的宽,不设viewport就默认980: <meta name="viewport" content="width=de

淘宝——移动端页面终端适配

注:本文参考自:http://www.cnblogs.com/xianyulaodi/p/5533201.html 阅读目录 适配的要求 适配的方法,3个步骤 适配中背景图片的处理 适配的原理解析 摘要:在进行移动端界面的书写的时候,如果把宽度高度或者字体大小全部写死的话,那么在所有手机上看到的大小都一样,存在的问题就是同样大小的字体,或者一个盒子模型, 在大屏幕手机上看起来会有点偏小.比如iphone6PLUS.如果是做成适配的话,就很好的解决了这个问题,大屏幕显示的内容大一点,小屏幕显示的小

移动端界面的适配

阅读目录 适配的要求 适配的方法,3个步骤 适配中背景图片的处理 适配的原理解析 摘要:在进行移动端界面的书写的时候,如果把宽度高度或者字体大小全部写死的话,那么在所有手机上看到的大小都一样,存在的问题就是同样大小的字体,或者一个盒子模型, 在大屏幕手机上看起来会有点偏小.比如iphone6PLUS.如果是做成适配的话,就很好的解决了这个问题,大屏幕显示的内容大一点,小屏幕显示的小一点. 所以今天做一个移动端页面适配的小小总结 回到顶部 适配的要求 1.在不同分辨率的手机上,页面看起来是自适应的

再聊移动端页面的适配

再聊移动端页面的适配 https://www.w3cplus.com/css/vw-for-layout.html  原文网址 Flexible承载的使命 Flexible到今天也有几年的历史了,解救了很多同学针对于H5页面布局的适配问题.而这套方案也相对而言是一个较为成熟的方案.简单的回忆一下,当初为了能让页面更好的适配各种不同的终端,通过Hack手段来根据设备的dpr值相应改变<meta>标签中viewport的值: <!-- dpr = 1--> <meta name=

移动端iPhone系列适配问题

问题一:苹果手机上的input按钮自带渐变效果 一样的代码,为啥在苹果手机上的input按钮就自带渐变效果,搞特殊吗?怎么让它显示正常?只需要加上outline:0px; -webkit-appearance:none; 清除原有样式,同时苹果手机上的input按钮自带圆角需要按需要去掉 问题二:表单input元素获取焦点时页面被放大的解决办法 原因:在iPhone上点击input框会有一个动画效果,这是苹果公司默认设置的,每次input获取焦点都会使页面放大,效果非常不好看,经过多方百度寻求到

腾讯的手机屏幕的适配代码

腾讯的适配代码 ,比较权威 ,果断盗用! <script type="text/javascript"> if(/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test