移动端适配方案

适配:顾名思义,在不同尺寸的手机设备上,页面相对性的达到合理的展示(自适应)或者“保持统一效果的等比缩放”

适配应关注的要素是那些?

关注点: 字体,高宽间距,图像(图标,图片)
对应图像,一般比较通用方便的方式是:利用css将图像限定在元素内(img图片用max-width:100%,背景图片使用background-size),布局只针对元素进行。

第一种方案:固定高度,宽度自适应

这是一种比较通用的方法,属于自适应布局,viewport width设置为device width,以较小宽度的视觉稿作为参照来布局。垂直方向的高度和间距使用定值,水平方向混合使用定值和百分比或者是弹性布局,最终达到“当手机屏幕发生变化时,横向拉伸或者填补空白的效果”,图像元素根据容器情况,使用定值或者是background-size缩放。
要点:

  • 以小宽度作为参照是因为如果布局满足了小宽度的摆放,当屏幕变宽时,简单的填充空白就可以了。放过来则样式就可能会错乱。
  • 需要小宽度的布局,又需要大宽度的图像,这是一个矛盾点
  • 320px过于窄小,不利于页面设计,只能设计横向拉伸的元素布局,存在很多局限性。
  • 兼容性好。

第二种方案: 固定宽度,viewport缩放

视觉稿,页面宽度,viewport width 使用统一宽度,利用浏览器自身缩放完成适配。页面样式(包括图像元素)完全按照视觉稿的尺寸,使用定值(px,em)就可以完成。
优点:

  • 开发简单 缩放完全交给浏览器,完全按照视觉稿切图
  • 还原精确 绝对等比缩放,可以精确还原视觉稿(不考虑清晰度的情况下)
  • 测试方便 在pc端就可以完成绝大部分的测试,手机端只需酌情调整一些细节

存在的问题:

  • 像素丢失 对于一些分辨率较低的手机,可能设备像素还未达到指定的viewport宽度,此时屏幕宽度渲染可能就不准确了。
  • 缩放失效 某些安卓机不能正确根据meta标签中的width 的值来缩放viewport ,需要配合initial-scale

第三个方案: 利用rem布局

依照某个特定宽度设定rem值(即html 的 font-size)页面任何需要弹性适配的元素,尺寸均换算为rem来布局;当页面渲染的时候,根据页面有效宽度进行计算,调整rem的大小,动态缩放以达到设配效果。利用该方案,还可以根据devicepixelRatio设定inital-scale来放大viewport,使得页面按照物理像素渲染,提高清晰度。

优点:

  • 清晰度高,能达到物理像素的清晰度
  • 能解决dpr引起的1像素的问题。
  • 向后兼容好,即便屏幕宽度增加,ppi增加该方案依旧适用。
    缺点:
  • 适配js需尽早引入,避免或减少viewport变化引起的重绘。
  • 某些安卓机会丢掉rem小数部分
  • 需要预编译库进行单位转换
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,390评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,821评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,632评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,170评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,033评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,098评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,511评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,204评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,479评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,572评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,341评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,893评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,171评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,486评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,676评论 2 335

推荐阅读更多精彩内容

  • h5的移动端适配核心的问题有两个: 1.因为目前手机品牌众多,手机的宽度不统一,所以第一个问题就是如何让不同的手机...
    国服阅读 3,288评论 0 2
  • 方案一: 最新方案:(隆重推荐) 1、下载MateHandler.js,并引入页面2、head里加入 3、设置bo...
    晨光2016阅读 883评论 0 0
  • 刚开始做移动端web开发的同学应该都碰到过页面适配问题,为什么我在开发手机上调试好的页面在其他手机会有这样或那样的...
    留七七阅读 19,268评论 5 80
  • 需要移动端适配的根本原因:屏幕窗口的大小,devicepixelratio值等。 简单介绍下devicepixel...
    2ue阅读 1,471评论 0 2
  • 在移动互联网快速发展的今天,手机的种类和尺寸越来越多,作为前端的小伙伴们可能会越来越头疼,但又不得不去适配一款又一...
    keenjaan阅读 26,743评论 9 86