自适应布局meta标签中viewport、content、width、initial-scale、minimum-scale、maximum-scale总结


Posted in Javascript onAugust 18, 2017

一、先明白几个概念

phys.width:

device-width:

一般我们所指的宽度width即为phys.width,而device-width又称为css-width。

其中我们可以获取phys.width即width通过document.documentElement.clientWidth;而获取css-width通过 window.screen.width获取。如iphone6的phys.width为750px,而css-width为375px。

二、明白一个浏览器默认行为。

试想,浏览器如果把电脑端的980px的网页展现在宽度为750px的iphone6手机屏上,势必会放不下,手机端横向会出现滚动条,怎么阻止这种情况呢,很简单,浏览器默认一个虚拟窗口,不同浏览器有不同的虚拟窗口宽度的默认值如:safari iphone:980px;

opera:850px; Andriod webkit:800px;IE:974px;然后会把这个980px虚拟窗口装进宽度为750px的iphone6中,当然这样的话必须缩放,这就是为什么在手机中展现电脑端页面没有出现横向滚动条,而且字迹明显变小的原因。

三、讲解meta name= viewport content= width=device-width initial-scale=1 minimum-scale=1 maximum-scale=1

meta标签中,width有两个含义,第一、width为phys.width,第二,width也为虚拟窗口的width。这样就会有两个结果:

1、此时的iPhone6的phys.width也变成了css-width即375px,我们可以通过document.documentElement.clientWidth获取得到此时phys.width确实为375px。

2、如你设计的是375px的手机端页面,此时的虚拟窗口的宽度也为375px,再装进phys.width为375px的手机,当然如设计稿一样的效果,不会缩放,也不会出现横向滚动条。

四、对响应式布局,媒体查询的影响

@media only screen and (min-width: 350px) and (max-width: 480px){.....................}

如没有meta标签,此时的width当然即为phys.width,iPhone6就不会执行上边的括号里边的代码,但是有了meta标签以后呢,width变成了css-width,即为375px,,所以是会执行代码的。

五、论meta标签的影响

从上边可以看出,有了meta标签以后,原本的iPhone6,即像素比为2的手机,可以按照css-width相同的像素比为1的手机一样正常显示,像素比更高的手机也能正常显示。当然现在andriod的2K屏在meta标签的帮助下也能正常显示。即对于开发者来说,已经可以不管手机的像素比,只需按照css像素编写代码即可。

参考链接: https://3water.com/article/121531.htm     
参考链接:  https://3water.com/article/121524.htm

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助~如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持!

Javascript 相关文章推荐
yepnope.js 异步加载资源文件
Sep 08 Javascript
jQuery实现的经典滑动门效果
Sep 22 Javascript
Bootstrap网格系统详解
Apr 26 Javascript
easyui window refresh 刷新两次的解决方法(推荐)
May 18 Javascript
JS获取子窗口中返回的数据实现方法
May 28 Javascript
鼠标点击input,显示瞬间的边框颜色,对之修改与隐藏实例
Dec 26 Javascript
jQuery按需加载轮播图(web前端性能优化)
Feb 17 Javascript
详解性能更优越的小程序图片懒加载方式
Jul 18 Javascript
Node+OCR实现图像文字识别功能
Nov 26 Javascript
elementUi vue el-radio 监听选中变化的实例代码
Jun 28 Javascript
JavaScript实现身份证验证代码实例
Aug 26 Javascript
layer.alert自定义关闭回调事件的方法
Sep 27 Javascript
JS实现页面打印(整体、局部)
Aug 18 #Javascript
简单实现jQuery轮播效果
Aug 18 #jQuery
JavaScript编写的网页小游戏,很给力
Aug 18 #Javascript
ReactJs实现树形结构的数据显示的组件的示例
Aug 18 #Javascript
基于 Vue 的树形选择组件的示例代码
Aug 18 #Javascript
简单实现jQuery手风琴效果
Aug 18 #jQuery
JavaScript中Hoisting详解 (变量提升与函数声明提升)
Aug 18 #Javascript
You might like
PHP获取当前完整URL地址的函数
2014/12/21 PHP
php简单解析mysqli查询结果的方法(2种方法)
2016/06/29 PHP
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
JQUERY简单按钮轮换选中效果实现方法
2015/05/07 Javascript
JS实现的Select三级下拉菜单代码
2015/08/20 Javascript
原生javascript实现自动更新的时间日期
2016/02/12 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
for循环 + setTimeout 结合一些示例(前端面试题)
2017/08/30 Javascript
JS实现定时任务每隔N秒请求后台setInterval定时和ajax请求问题
2017/10/15 Javascript
在Python程序中进行文件读取和写入操作的教程
2015/04/28 Python
Python扩展内置类型详解
2018/03/26 Python
Pandas实现数据类型转换的一些小技巧汇总
2018/05/07 Python
使用python绘制3维正态分布图的方法
2018/12/29 Python
解决python中使用PYQT时中文乱码问题
2019/06/17 Python
Django实现发送邮件功能
2019/07/18 Python
python提取照片坐标信息的实例代码
2019/08/14 Python
纯CSS3打造动感漂亮时尚的扇形菜单
2014/03/18 HTML / CSS
CSS3 border-radius圆角的实现方法及用法详解
2020/09/14 HTML / CSS
html5利用canvas绘画二级树形结构图的示例
2017/09/27 HTML / CSS
微信小程序“圣诞帽”的实现思路详解
2017/12/28 HTML / CSS
Weblogic的布署方式
2013/08/23 面试题
幼儿园国庆节活动方案
2014/02/01 职场文书
《跨越百年的美丽》教学反思
2014/02/11 职场文书
幼儿园教师获奖感言
2014/03/11 职场文书
抗洪抢险事迹材料
2014/05/06 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
协议书范文
2015/01/27 职场文书
2015年感恩节活动总结
2015/03/24 职场文书
2015年体检中心工作总结
2015/05/27 职场文书
红色电影观后感
2015/06/18 职场文书
只需要12页,掌握撰写一流商业计划书的技巧
2019/05/07 职场文书
导游词之杭州岳王庙
2019/11/13 职场文书
pytorch实现线性回归以及多元回归
2021/04/11 Python
vue打包时去掉所有的console.log
2022/04/10 Vue.js