移动web的适配问题
1. 适配问题
移动设备屏幕尺寸不一样,不同型号的手机会有不同大小的屏幕,不同型号的平板也是,就算是我们的PC端也是会有不同大小的屏幕。将在PC端写好的饿页面直接拿到移动端去显示会是怎样的?默认不会出现滚动条,但是会出现缩放。
解决方案:
在《京东商城》移动站中用的是百分比自适应布局,也就是流式布局。同时,需要对移动端的viewport视口进行设置,就会达到适配的目的。
2. 流式布局
流式布局就是百分比布局,非固定像素,内容会根据窗口的大小向两侧填充,可以理解成是流动的布局,这样的布局称为流式布局。
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>流式布局</title><style>body {margin: 0;padding: 0;}.box {background-color: antiquewhite;width: 100%; /*默认就是100%*/}</style>
</head>
<body><div class="box">好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!好好学习天天写代码!写好代码去看李易峰!</div></body>
</html>
3. 视觉窗口viewport
将PC端写好的页面怎么展示在移动端?借助浏览器的手机模拟器。
viewport是移动端特有的,这是一个虚拟的区域,用来承载网页。PC端的页面直接就承载在浏览器窗口里面,而移动端多出了这样一个虚拟区域,用它来承载网页。在移动端,它们之间的关系是:浏览器承载viewport,viewport承载网页。
存在的问题: 将写好的页面放在移动端显示,会出现缩放的现象,之前的字体变小了,如何解决这个问题?---- 需要一个适配方案。
- 适配要求:
- 网页宽度必须和浏览器保持一致。
- 默认显示的缩放比例要和PC端保持一致(缩放比例是1.0)
- 不允许用户自行缩放网页
满足上述的要求,就达到了适配,是国际上通用的适配方案,标准的移动端适配方案。
- 适配设置
如果什么设置都没有,使用的就是viewport的默认设置,想要达到适配要求,就要去设置viewport。
<meta name="viewport">
书写位置:在head里面并且应该紧跟着编码设置,是为了保证能够优先加载。
- viewport的功能
width
可以设置宽度,height
可以设置高度initial-scale
可以设置默认的缩放比例user-scalable
可以设置是否允许用户自行缩放maximum-scale
可以设置最大缩放比例,minimum-scale
可以设置最小缩放比例
<meta name="viewport" content="">
其中的content
就可以使用以上参数。
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
表示这个viewport的宽度是设备的宽度,默认的缩放比例是1.0,并且不允许用户自动缩放。这个就是国际上标准的适配方案。创建标准适配方案的快捷键:meta:vp
。
4. 非主流适配方案:了解。
<meta name="viewport" content="width=device-width, initial-scale=0.5, maximum-scale=0.5, minimum-scale=0.5, user-scalable=no">
表示缩小一半。原网页的宽度就是现在设备宽度的2倍。
<meta name="viewport" content="width=device-width, initial-scale=0.3333333333, maximum-scale=0.3333333333, minimum-scale=0.333333333, user-scalable=no">
表示缩小到原来的1/3。原网页的宽度就是现在设备宽度的3倍。
以上是m.taobao.com在两个不同的移动端设备上的适配,为什么比例不一样?依据是什么?屏幕像素比。
非主流适配方案的特点:
- 页面的真实尺寸会比在设备上的尺寸要大几倍。
比如:iPhone4的设备宽度是320px,则它的网页尺寸是640px - 缩放操作:有2倍的,有3倍的 ,这个倍数与屏幕像素比有关系。
- 页面的真实尺寸会比在设备上的尺寸要大几倍。
理解像素: 我们之前用的px指的是页面的尺寸单位,而这里说的屏幕像素指的是物理像素或者像素点。物理像素就是设备显示屏的最小可视颗粒的大小,现在有高清显示屏,视网膜屏,retina屏,基本都是肉眼不可见了。这样的情况下,显示的效果提高了,但是在显示同等质量的图片时会出现模糊效果。在高清显示屏中图片可能会失真。
在屏幕像素比高的设备,图片(非矢量)显示会模糊。屏幕像素比就是指:一个px的宽度能够放几个物理像素。这种非主流的适配方案就是为了提高网页的清晰度,即根据屏幕像素比来缩放网页。但是这样的适配方案非常高,一般使用的还是标准的适配方案。
移动web的适配问题相关推荐
- 再谈移动端Web屏幕适配
一个多月前水了一篇移动web屏幕适配方案,当时噼里啪啦的写了一通,自我感觉甚是良好.不过最近又有一些新的想法,和之前的有一些不同. 先说一下淘宝的方案,感觉现在好多的适配方案都是受了它的影响,上周六看 ...
- 移动端Web页面适配方案(整理版)
@(概述)[基本概念|百分比|rem|vw/vh|响应式设计] 移动端web页面的开发,由于手机屏幕尺寸.分辨率不同,或者需要考虑横竖屏问题,为了使得web页面在不同移动设备上具有相适应的展示效果,需 ...
- Web App适配iPhoneX
前言 Iphone每次退出新尺寸的手机都会掀起一番适配风波,这次没有下巴但有刘海的iPhoneX更是如此,网传横屏下的适配动画更是令不少人汗颜. 其实对于Native App来说,适配并不算困难(当然 ...
- 移动web开发适配rem
移动的meta标签 <meta name="viewport" content="width=device-width, initial-scale=1,user ...
- Web页面适配移动端方案研究
源宝导读:由于我们ERP目前大都是在在PC上面运行,大家现在关注移动端比较少,谈到移动端适配时,可能都有些生疏也可能比较好奇.以前做过一些移动端的little项目,那么借助这次分享的机会,和大家一起讨 ...
- 前端适配:移动端/web端适配方案
科普: rem rem是CSS3新增的一个相对单位(root em,根em)这个单位与em有什么区别呢? 区别在于 1.使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素. 2 ...
- 移动web开发适配秘籍之rem
移动web开发中我们一定会遇到要处理适配的问题,这里选择rem这一方案. 待续...
- 移动端web自适应适配布局解决方案
100%还原设计图,要注意: 看布局,分析结构. 感觉难点在于: 1.测量精度(ps测量数据): 2.文字的行高. 前段时间写个移动端适配的页面(刚接触这方面),查了一些资料,用以下方法能实现: 1. ...
- Web移动适配笔记(ing)
1.rem适配法 - 文字流式,控件弹性,图片缩放 >物理像素(physical pixel):设备上每一个用于显示的像素单元,固定不变,以'pt'为单位 >设备独立像素(density- ...
最新文章
- 几个清华和哈工大学霸的公众号,值得学习!
- UILabel的自适应宽高
- java 复制一个数组_浅谈Java中复制数组的方式
- poj1426(dfs)
- Docker 部署ELK 日志分析
- android自定义url协议,Android自定义URL方案…?
- Notepad++中的高级查找
- java怎么实现同步到微博功能_新浪微博信息站外同步的完整实现
- 【Java】自编时间相关常用函数
- Linux学习笔记-消息队列概念
- springboot整合rpc远程调用_SpringCloud—RPC远程调用
- 【好文链接】什么是光流
- oracle条件批量更新表数据
- ajax验证作用,通过正则表达式使用ajax检验注册信息功能
- 后台管理系统 - 权限设计
- SPSS学习(二)作图
- ramda 函数 logic
- 如何选择和阅读科技论文
- vps一键测速脚本,包含vps配置测试、速度测试和回程路由测试
- teradata中no more spool space
热门文章
- 分布式面试 - 如何基于 dubbo 进行服务治理、服务降级、失败重试以及超时重试?
- 【C语言】创建一个函数,并调用比较三个数的大小
- C#LeetCode刷题之#860-柠檬水找零(Lemonade Change)
- golang-gui编程
- python标准库之smtplib,poplib,imaplib,smptd
- python标准库之logging
- 136_Power BI 自定义矩阵热力图
- html 比 htm 的载入速度快,htm和html
- android中显示提示图标在edittext左侧,设置图标的大小,王立平--EditText实现单行显示,左側图标,提示信息...
- ubuntu pycharm设置快捷图标_这些Ubuntu中的小技巧,你知道吗?