移动端Web页面适配方案
概念理解
viewport视口
- visual viewport 可见视口,设备屏幕的宽度 windw.innerWidth/Height
- layout viewport 布局视口,DOM宽度 document.documentElement.cliendWidth/Heig
- visual viewport = layout viewport * scale
ideal viewport 理想视口:目标是让把默认的layout viewport宽度设置为移动设备的屏幕宽度
<meta name="viewport" content="width=device-width,initial-scale=1">
width: viewport宽度
initial-scale:页面初始缩放
maximum/minimum-scale:允许用户缩放的最小/最大比例
user-scalable:yes/no是否允许用户手动缩放
像素的一些事
物理像素(physical pixel)
设备像素,设备中的最小一个物理部件。比如说,一倍屏、二倍屏(Retina)、三倍屏指的是以多少物理像素来显示一个CSS像素。Retina屏幕,一个css像素对应4个物理像素。
css像素
css像素是抽象单位,主要用在浏览器上。CSS称为设备无关的像素(device-independent pixel)简称DIPs。
早起iphone3的分辨率是320x480,retina屏幕的分辨率640x960,屏幕尺寸不变但是像素提高了一倍。这时候,一个css像素等于两个物理像素。
设备像素比dpr(device pixel ratio)
设备像素比 = 物理像素/设备独立像素 (对于retina屏的iphone,dpr = 2,即1css像素相等于2个物理像素)
viewport的scale和dpr互为倒数。
- JavaScript:window.devicePixelRatio
- CSS: -webkit-device-pixel-ration, -webkit-min-device-pixel-ratio, -webkit-max-device-pixel-ratio
前端适配的相关方法:
viewport
http://caibaojian.com/mobile-responsive-example.html
https://www.cnblogs.com/2050/p/3877280.html
https://segmentfault.com/a/1190000008767416#articleHeader7
https://github.com/riskers/blog/issues/18
移动端Web页面适配方案的更多相关文章
- 移动端web页面如何适配
移动端web页面如何适配,现有两个方案: 1 设置viewport进行缩放 简单粗暴,使用过程中反应缩放会导致有些页面元素会糊的情况.天猫的web app的首页使用这种方案 在页面中加入viewpor ...
- 「移动端」Web页面适配
一.什么是移动端适配 移动端 Web 页面,就是常说的手机 h5页面.webview页面.公众号开发的网页等. 由于手机机型较多,各个手机的屏幕尺寸不一样,所以做移动端页面,需要考虑在安卓和ios的各 ...
- 基于rem的移动端响应式适配方案(详解) 移动端H5页面的设计稿尺寸大小规范
基于rem的移动端响应式适配方案(详解) : https://www.jb51.net/article/118067.htm 移动端H5页面的设计稿尺寸大小规范 http://www.tuyiyi.c ...
- 移动端WEB页面
百度前端技术学院第一阶段任务十一,关于移动端WEB页面布局,参考资料如下(都是一些网页链接): MDN:手机网页开发 MDN:在移动浏览器中使用viewport元标签控制布局 移动前端开发和 Web ...
- 再谈移动端Web屏幕适配
一个多月前水了一篇移动web屏幕适配方案,当时噼里啪啦的写了一通,自我感觉甚是良好.不过最近又有一些新的想法,和之前的有一些不同. 先说一下淘宝的方案,感觉现在好多的适配方案都是受了它的影响,上周六看 ...
- 教你如何用 lib-flexible 实现移动端H5页面适配
前话 好久没写教程了(可能会误导新手的菜鸟教程( ̄▽ ̄)"). 这是我的github,欢迎前端大大们和我一起学习交流 https://github.com/pwcong 最近入职公司做前端实 ...
- 常见的移动端Web页面问题
移动端Web需要照顾触摸操作的体验,以及更多的屏幕旋转与尺寸适配等问题,非常琐碎,在这里为大家倾力总结多条常见的移动端Web页面问题解决方案,欢迎收看收藏! 1.安卓浏览器看背景图片,有些设备会模糊 ...
- 微信移动端web页面调试小技巧
技术贴还是分享出来更加好,希望能对一些朋友有帮助,个人博客 http://lizhug.com/mymajor/微信移动端web页面调试小技巧
- 移动端web页面开发常用的头部标签设置
在移动端web页面开发中,我们常需要设置各种头部标签以帮助浏览器更好的解析页面,将页面完美呈现,这里列出了工作中常用的各种头部标签,以备查询. viewport <meta name=" ...
随机推荐
- linux常用汇总
E: Could not get lock /var/lib/dpkg/lock - open (11: Resource temporarily unavailable) E: Unable to ...
- Centos7 tomcat 启动权限
Cannot find bin/catalina.sh The file is absent or does not have execute permission This file is ne ...
- Arrays基本使用
public static void main(String[] args) { String[] a = { "a", "b", "c" ...
- js如何判断用户使用的设备类型及平台
前端开发经常遇到需要判断用户的浏览设备,是pc端还是移动端,移动端使用的是什么手机系统?android.ios.ipad.windows phone等等,有时候还需要知道用户浏览页面是在微信中打开还是 ...
- 关于memset
memset填充的是一个字节,比方下面的一段程序: #include <cstdio> #include <cstring> using namespace std; ]; i ...
- JavaScript 复杂判断的更优雅写法借鉴
前言: 我们编写js代码时经常遇到复杂逻辑判断的情况,通常大家可以用if/else或者switch来实现多个条件判断,但这样会有个问题,随着逻辑复杂度的增加,代码中的if/else/switch会变得 ...
- TextView控件常用属性
常用属性 android:id——控件ID android:layout_width——控件宽度 android:layout_height——控件高度 android:text——文本内容 andr ...
- kafka集群安装及基本命令行使用
集群安装 环境介绍 本次安装kafka集群利用的是自带的zooKeeper,其实最好是把kafka和zooKeeper部署在不同的节点上,这样更高可用. 三个节点: kafka1:192.168.56 ...
- BZOJ 2226: [Spoj 5971] LCMSum 莫比乌斯反演 + 严重卡常
Code: #pragma GCC optimize(2) #include<bits/stdc++.h> #define setIO(s) freopen(s".in" ...
- [CSP-S模拟测试92]题解
A.数列 显然每个数的答案是互相独立的,直接扩欧求解.我们需要最小化$ax+by=gcd(a,b)$中的$|x|+|y|$,而显然当x或y靠近0时答案可能最优,列个不等式求一下即可. 能$O(1)$千 ...