viewport

viewport,等于浏览器窗口

一 物理像素 & 设备独立像素

物理像素:又称设备像素,是显示设备中一个最微小的物理部件。你所使用的各种设备都提供了正规的分辨率,并且其值可以(通常情况下)从screen.width/height属性中读出。 设备独立像素:又称CSS像素逻辑像素密度无关像素,是那些控制你的样式表如何渲染的像素。

物理像素 = 设备独立像素 * dpr

1 屏幕尺寸

screen.width/height

2 窗口尺寸

window.innerWidth/Height

3 滚动距离

window.pageX/YOffset( == scrollX/Y )

4 度量 viewport

document.documentElement.clientWidth/Height

5 度量<html>元素

document.documentElement.offsetWidth/Height

事件中的坐标

pageX/Y, clientX/Y, screenX/Y

6 媒体查询的width/height & width/height

二 移动设备的 visual viewport & layout viewport

layout viewport想像成为一张不会变更大小或者形状的大图。现在想像你有一个小一些的框架,你通过它来看这张大图。这个小框架的周围被不透明的材料所环绕,这掩盖了你所有的视线,只留这张大图的一部分给你。你通过这个框架所能看到的大图的部分就是visual viewport。当你保持框架(缩小)来看整个图片的时候,你可以不用管大图,或者你可以靠近一些(放大)只看局部。你也可以改变框架的方向,但是大图(layout viewport)的大小和形状永远不会变。

visual viewport 是页面当前显示在屏幕上的部分。用户可以通过滚动来改变他所看到的页面的部分,或者通过缩放来改变 visual viewport 的大小。

Table of Contents