(一)布局viewport

在开发pc页面时,一般内容页的长度和宽度都比较大,如果直接在移动端打开,因为移动端的宽度窄,之前在PC端的页面就会因为宽度的问题出现布局混乱,所以apple公司就提出了布局viewport的概念。

各个设备的布局viewport都不相同,ios系统的默认布局viewport是980px,这样在布局viewport中之前在pc页面的布局就不会乱。布局viewport如下所示:


常用的移动端系统对应的viewport值。



(二)视口viewport

上面的布局viewport主要是保证页面的布局不乱的,还有一个叫视口viewport(visual viewport)的概念,视口viewport是用户正在看到的网站的区域如下图所示:


视口viewport一般和网页的缩放有关,如果页面缩放比是200%,那么视口viewport就变小了,反之亦然。

可以这么理解:

页面缩放比是200%时,用户能看到的视口中的像素就变少了,所以视口viewport变小。

( 三 ) meta标签

前面讲了布局viewport和视口viewport,在实际中我们能控制的只有布局viewport,所以在进行移动端开发之前我们经常会写下面一段代码:

<meta name="viewport" content="width=device-width;init-scale=1,user-scale=no"/>

       这个meta标签就是用来控制布局viewport的:

width=device-width(布局viewport的宽度为设备的宽度)

init-scale=1(默认的缩放比是100%)

user-scale=no(用户禁止缩放)


其中,在JavaScript中通过下面方法可以获得对应的viewport:

布局viewport: document.body.clientWidth

视口viewport:window.innerWidth

       

       以上,就是响应式开发过程中第二个要明白的问题:视口。


本文转载:CSDN博客