移动端的布局不同于pc端,首先我们要知道在移动端中,css中的1px并不等于物理上的1px,因为手机屏幕的分辨率已经越来越高,高像素但是屏幕尺寸却没有发生太大变化,那就意味着一个物理像素点实际上塞入了好几个像素。

在移动端浏览器中以及某些桌面浏览器中,window对象有一个devicePixelRatio属性,它的官方的定义为:设备物理像素和设备独立像素的比例,也就是 devicePixelRatio = 物理像素 / 独立像素。css中的px就可以看做是设备的独立像素,所以通过devicePixelRatio,我们可以知道该设备上一个css像素代表多少个物理像素。例如,在Retina屏的iphone上,devicePixelRatio的值为2,也就是说1个css像素相当于2个物理像素。但是要注意的是,devicePixelRatio在不同的浏览器中还存在些许的兼容性问题,所以我们现在还并不能完全信赖这个东西。

还有一个因素也会引起css中px的变化,那就是用户缩放。例如,当用户把页面放大一倍,那么css中1px所代表的物理像素也会增加一倍;反之把页面缩小一倍,css中1px所代表的物理像素也会减少一倍。

所以在做移动端开发时,为了使移动端的页面在不同的手机上同样的大小来显示,我们可以将页面的宽度固定,然后获取设备的宽度,可以得到我们之前设定的宽度与设备宽度的比例,再使用HTML5新增的viewport来对页面进行缩放,并固定不允许用户再重新缩放。

在看viewport的具体用法之前,我们先搞清楚几个概念。

  1. layout viewport:

    • layout viewport 是网页的所有内容,他可以全部或者部分展示给

关于HTML5中meta name=“viewport“ 的用法---web前端工作笔记014相关推荐

  1. link标签中的integrity和crossorigin字段---web前端工作笔记015

    可以理解成可以跨域访问的吧. crossorigin: 该枚举属性指定在加载相关图片时是否必须使用CORS.可取的值包括以下两个:  - anonymous:会发起一个跨域请求(即包含Origin: ...

  2. html5中3个盒子怎样设置,Web前端开发任务驱动式教程(HTML5+CSS3+JavaScript)任务10 盒子模型及应用.pptx...

    第五单元 盒子模型任务10 盒子模型及应用学习目标盒子模型的概念掌握边框的设置内边距的设置外边距的设置学习目标了解:利用盒子模型布局网页的优势任务目标实战演练--制作古诗文欣赏网页强化训练--制作散文 ...

  3. 深入理解input中的value、name、id的区别和用法——Web前端自学笔记

    value:指该控件显示出来的值,是面向用户的.如<input type="button" value="123">这条语句运行出来时,button ...

  4. 【详细解读】CSS渐变用法——Web前端系列学习笔记

    文章目录 线性渐变 属性解析 实例代码 效果图 径向渐变 属性解析 示例代码 效果图 多学一招:重复渐变 线性渐变 属性解析 通过关键词来确定渐变的方向.默认值为top(从上向下),取值范围是 [le ...

  5. 【详解】CSS阴影用法——Web前端系列学习笔记

    3. CSS阴影和渐变 盒阴影 对象选择器 {box-shadow:投影方式|| X轴偏移量|| Y轴偏移量 ||阴影模糊半径 || 阴影扩展半径 ||阴影颜色 } 投影方式:此参数是一个可选值,如果 ...

  6. HTML中可以有多个meta吗,HTML5中meta标签有三个主要属性是什么

    HTML5中meta标签有三个主要属性是什么 发布时间:2020-10-22 13:46:11 来源:亿速云 阅读:88 作者:小新 小编给大家分享一下HTML5中meta标签有三个主要属性是什么,相 ...

  7. html中form标签的作用style,HTML5中meta常用标签属性说明

    HTML5中meta常用标签属性说明 IE 兼容模式,Bootstrap 不支持 IE 古老的兼容模式.为了让 IE 浏览器运行最新的渲染模式下,建议将此  标签加入到你的页面中: content属性 ...

  8. html5中figure怎么用,HTML5中figure和figcaption标签用法

    HTML5中figure和figcaption标签一般都是配套使用的,先了解下两者的基本定义,然后结合实例来说明两者的用法. 标签规定独立的流内容(图像.图表.照片.代码等等). figure元素的内 ...

  9. html5中meta标签总结

    keywords,description(经常用到的两个) 页面的关键字和描述,是写给搜索引擎看的,关键字可以有多个用 ','号隔开 <meta name="keywords" ...

最新文章

  1. 用c语言 编写桌面应用程序,谁能帮我用C语言编写“动态桌面啊”!!!急呀!!!...
  2. 海量分布式爬取抖音视频,几行代码搞定
  3. mysql申请 表空间_MySQL 系统表空间扩容方法
  4. java web w3c_1.3 搭建Java Web开发环境
  5. 淘宝海报字体素材模板,让你的海报字体活起来!
  6. 单例模式与线程安全问题浅析
  7. Windows 7软件及游戏的兼容性
  8. 微信公众号教程(13)公司通讯录开发 上
  9. mysql数据库备份sql语句_mysql用户管理、常用sql语句及数据库的备份
  10. java 聊天室 私聊_Java WebSocket实现网络聊天室(群聊+私聊)
  11. windowsapps文件夹无法删除_Windows实战之快速安全删除Windows.old文件夹
  12. 零知识证明 Zero Knowledge Proof 以及 Layer2、跨链介绍
  13. thrift安装天坑
  14. Django - installing mysqlclient error: mysqlclient 1.4.0 or newer is required; you have 0.9.3
  15. 阿里云国内节点centos7.2安装k8sv1.12.3
  16. 使用51单片机编写计时器(分钟,秒钟分离版)
  17. 怎么减少计算机内存占有,还在为电脑内存占用太高而烦恼吗?教你一招轻松解决...
  18. Python人工智能之图片转文字识别
  19. java 写作速度_GMAT写作提高速度4条实用经验分享
  20. 很好很强大的FXTZ

热门文章

  1. SCAN: Structure Correcting Adversarial Network for Organ Segmentation in Chest X-rays(译)
  2. python与机器学习(四)——线性回归和逻辑斯蒂回归
  3. 教育部:“改薄”工程实施中预防拖欠农民工工资
  4. (轉貼) C Standard Library (初級) (C/C++)
  5. BZOJ 2733: [HNOI2012]永无乡
  6. redhat6.5配置阿里云yum源
  7. Flume-ng HDFS sink原理解析
  8. HDOJ1012 u Calculate e
  9. Unbuntu和Centos中部署同时多版本PHP的详细过程
  10. python学习——函数及其参数