移动端三个视口

转载:http://www.cnblogs.com/wmmang-blog/p/4708351.html

本文记录学到的有关视口的内容,不足之处请指正。

1、视口

有时会使用百分比来声明宽度,如:

html,body{}

div{width:30%;}

假设div是body的子元素,这段css就表示该div占body宽度的30%.body没有显示声明宽度,因此body占用了父包含块html元素宽度的100%。同样的,html也没显示声明宽度,因此html也占父包含块的100%。等等.. html的父包含块是什么呢?是视口。

在CSS标准文档中称为初始包含块. 这个初始包含块是所有CSS百分比宽度推算的根源。

在桌面上,视口的宽度与浏览器窗口的宽度一致。除开margin和padding,html和body元素都与浏览器窗口的宽度一致。这就是为啥以上div占用了浏览器宽度的30%。

2、布局视口

桌面上,视口与浏览器窗口的宽度一致,但在手机上,视口与移动端浏览器屏幕宽度是不关联的。试想下,在小屏幕的移动端设备下,如果使视口与移动端浏览器屏幕宽度一致,那么占body的30%的div在手机上展示的宽度看起来非常非常小,因此移动端浏览器厂商必须保证即使在窄屏幕下元素显示的很好,因此需要将视口的宽度设计得比屏幕宽度宽出很多,这样网站会显示得可以想象成如桌面上的那样。但是,如果网站没有为移动端做优化,那么浏览器会尽可能的缩小网站让用户能看到网站的全貌。

总结:在手机上,视口与屏幕宽度并无关联,这跟桌面上是相反的。我们称该视口为布局视口。

3、视觉视口

它是用户正在看到的网站的区域,注意是网站的区域(重要的事情说三遍)。用户可以通过缩放来查看网站的内容。如果用户缩小网站,我们看到的网站区域将变大,此时视觉视口也变大了,同理,用户放大网站,我们能看到的网站区域将缩小,此时视觉视口也变小了。不管用户如何缩放,都不会影响到布局视口的宽度。

4、理想视口

默认情况下,一个手机或平板浏览器的布局宽度为768-1024像素。这对于手机的窄屏来说并不理想。换句话说,布局视口 的默认宽度并不是一个理想的宽度。因此理想视口被引进了。

只有当网站是为手机准备的时候才应该使用理想视口。当要添加理想视口,需要在页面里添加meta视口标签,如:


1

<meta name="viewport" content="width=device-width">

这行代码是通知浏览器,布局视口的宽度应该与理想视口宽度一致。这也说明了定义理想视口是浏览器的工作,而不是设备或操作系统的工作。因此,同一设备上的不同浏览器拥有不同的理想视口。浏览器的理想视口的大小也取决于它所处的设备。

总结:

1、在桌面浏览器上,浏览器窗口与视口的宽度一致,而视口(CSS标准文档中称为“初始包含块”)是CSS百分比宽度推算的根源,因此,浏览器窗口是约束CSS布局的视口;

2、在手机上,有两个视口,布局视口会限制CSS布局;视觉视口决定用户看到的网站内容;

3、移动端浏览器还有个理想视口,它是对特定设备上的特定浏览器的布局视口的一个理想尺寸;

4、可以把布局视口尺寸定义为理想视口。这也是响应式设计的基础。

时间: 2024-10-24 10:20:47

移动端三个视口的相关文章

浅谈移动端中的视口(viewport)

在 PC 端,视口指的是浏览器的可视区域,其宽度和浏览器窗口的宽度保持一致.在 CSS 标准文档中,视口也被称为初始包含块,它是所有 CSS 百分比宽度推算的根源,给 CSS 布局限制了一个最大宽度. 而移动端则较为复杂,它涉及到三个视口:布局视口(Layout Viewport).视觉视口(Visual Viewport)和理想视口(Ideal Viewport). 本文主要讨论移动端中的视口. 1. 基本概念 1.1 两种像素 像素是计算机屏幕中显示特定颜色的最小区域.屏幕中的像素越多,同一

Jquery Ajax处理,服务端三种页面aspx,ashx,asmx的比较

常规的Jquery Ajax 验证登录,主要有3种服务端页面相应 ,也就是 aspx,ashx,asmx即webserivice . 下面分别用3种方式来(aspx,ashx,asmx)做服务端来处理 Jquery  Ajax 传过来的用户名和密码验证! 例: Login.html 请求用户名和密码验证! <head> <script type="text/javascript"> $(document).ready(function() { $("#

移动端 三段式布局 (flex方式)

分享一种平时用的三段式布局(flex) 主要思路是  上中下    header&footer 给高度  main 占其余部分 html 部分 <div class='wrap'> <div class='header'></div> <div class='main'></div> <div class='footer'></div> </div> css 部分 .wrap{ display: fle

基于XMPP的IOS聊天客户端程序(IOS端三)

前两篇介绍了如何通过XMPP来发送消息和接收消息,这一篇我们主要介绍如何来美化我们的聊天程序,看一下最终效果呢,当然源程序也会在最后放出 好了,我们来看一下我们写的程序 这里我们自定义了TableViewCell 一行是显示发布日期,一行是显示发送的消息,还有一个是背景 -(id)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{            self = [sup

vue 3.0 项目搭建移动端 (三) computed 和 methods 和 watch

var vm = new Vue({ el: '#example', data: { message: 'Hello' }, computed: { // 计算属性的 getter reversedMessage: function () { // `this` 指向 vm 实例 return this.message.split('').reverse().join('') } }, // 在组件中 methods: { reversedMessage: function () { retur

移动端页面开发流程

移动端页面布局 一.移动端app分类 1.Native App原生app手机应用程序 使用原生的语言开发的手机应用,Android系统用的是java,ios系统用的是object-C 2.Hybrid App 混合型app手机应用程序 混合使用原生的程序和html5页面开发的手机应用 3.Web App 基于Web的app手机应用程序 完全使用html5页面加前端js框架开发的手机应用 二.Viewport视口 视口是移动设备上用来显示网页的区域,一般会比移动设备可视区域大,宽度可能是980px

移动端页面布局

移动端页面布局 一.移动端app分类 1.Native App原生app手机应用程序 使用原生的语言开发的手机应用,Android系统用的是java,ios系统用的是object-C 2.Hybrid App 混合型app手机应用程序 混合使用原生的程序和html5页面开发的手机应用 3.Web App 基于Web的app手机应用程序 完全使用html5页面加前端js框架开发的手机应用 二.Viewport视口 视口是移动设备上用来显示网页的区域,一般会比移动设备可视区域大,宽度可能是980px

利用视口单位实现适配布局

利用视口单位实现适配布局 by Tingglelaoo on 2017-04-28 响应式布局的实现依靠媒体查询( Media Queries )来实现,选取主流设备宽度尺寸作为断点针对性写额外的样式进行适配,但这样做会比较麻烦,只能在选取的几个主流设备尺寸下呈现完美适配.即使是通过 rem 单位来实现适配,也是需要内嵌一段脚本去动态计算根元素大小. 近年来,随着移动端对视口单位的支持越来越成熟.广泛,使得我们可以尝试一种新的办法去真正地适配所有设备尺寸. 认识视口单位( Viewport un

移动端与H5页面像素的差异与关系

最近工作任务主要是移动端内嵌H5页面,一次与原生进行像素交互下,发现了这个天坑,再次做个记录?? 天坑如下: H5页面中的“像素”与移动端设备的“像素”系统不一致,对于刚接触这块的我,曾经几时在还没有遇到过这样的情况下,去看相关的文章一点体会也没有,这次碰上了,然后又重新看了一遍,对这块的理解也能比较有感受了 先上总结:如果有不到位的,请告知修正:-P 理清几个概念 注意文中的英文表达,可以帮助我们更好的理解,因为同样的英文表达可以被翻译成不同的汉文,这会妨碍我们再查阅资料的时候混淆名词概念 物