文章目录
什么是Viewport
?
viewport
是用户网页的可视区域。viewport
翻译为中文可以叫做"视区"。
手机浏览器是把页面放在一个虚拟的"窗口"(viewport
)中,通常这个虚拟的"窗口"(viewport
)比屏幕宽,这样就不用把每个网页挤到很小的窗口中(这样会破坏没有针对手机浏览器优化的网页的布局),用户可以通过平移和缩放来看网页的不同部分。
在移动端浏览器当中,存在着两种视口,一种是可见视口(也就是我们说的设备大小),另一种是视窗视口(网页的宽度是多少)。 举个例子:如果我们的屏幕是320像素 * 480像素的大小(iPhone4),假设在浏览器中,320像素的屏幕宽度能够展示980像素宽度的内容。那么320像素的宽度就是可见视口的宽度,而能够显示的980像素的宽度就是视窗视口的宽度。
文中涉及到的概念
分辨率
分辨率,又称解析度、解像度,可以从显示分辨率与图像分辨率两个方向来分类。
- 显示分辨率(屏幕分辨率) 是屏幕图像的精密度,是指显示器所能显示的像素有多少。由于屏幕上的点、线和面都是由像素组成的,显示器可显示的像素越多,画面就越精细,同样的屏幕区域内能显示的信息也越多,所以分辨率是个非常重要的性能指标之一。可以把整个图像想象成是一个大型的棋盘,而分辨率的表示方式就是所有经线和纬线交叉点的数目。显示分辨率一定的情况下,显示屏越小图像越清晰,反之,显示屏大小固定时,显示分辨率越高图像越清晰。
- 图像分辨率则是单位英寸中所包含的像素点数,其定义更趋近于分辨率本身的定义。
设备像素(物理像素)
设备像素指的是显示器上的真实像素,每个像素的大小是屏幕固有的属性,屏幕出厂以后就不会改变了。
设备分辨率描述的就是这个显示器的宽和高分别是多少个设备像素。
设备像素和设备分辨率交给操作系统来管理,浏览器不知道、也不需要知道设备分辨率的大小,浏览器只需要知道逻辑分辨率就可以了。
像素密度
屏幕上每英寸可以显示的像素点的数量,单位ppi
位图像素
位图像素应该是和css
像素有关
设备独立像素(逻辑像素)
与设备无关的逻辑像素,代表可以通过程序控制使用的虚拟像素,是一个总体概念,包括了CSS像素
px
在手机端的表现
当没有设置width=device-width
(且没有缩放时)时,1px
等于1物理像素
问题
为何在设备宽度都为360的情况下,不同的安卓手机上所展示的布局不同