视口viewport

一、viewport

1. 何为视口? 视口是浏览器显示网页的矩形区域。

2. 默认视口:模拟一个大约1000像素宽的视口。

理想视口:因设备、操作系统、浏览器而异,一般而言,手机宽带大约在300~500像素之间(iphone 5宽度320像素),平板宽度在800~1400像素

可见视口:浏览器窗口减掉所有按钮、工作条、滚动条等组件之后,实际包含网页内容的空间。

布局视口:放大网页后某些部分会跑到可见视口之外。我们看到的那部分为可见视口,而假想的约束“整个页面”的矩形区为布局视口。

<meta name="viewport" content="width=device-width, initial-scale=1">

二、像素

设备像素:设备屏幕的物理像素。任何设备的物理像素都是固定的。

css像素:逻辑像素,在css和javascript中使用的一个抽象的层。

每一个CSS声明和几乎所有的javascript属性都使用CSS像素,因此实际上从来用不上设备像素 ,唯一的例外是screen.width和screen.height.

缩放

在桌面端,css的1个像素往往都是对应着电脑屏幕的1个物理像素。

  //一个CSS像素完全覆盖了一个设备像素 

 

  而在手机端,由于屏幕尺寸的限制,缩放是经常性的操作。

  //设备像素(深蓝色背景)、CSS像素(半透明背景)
  //左图表示当用户进行缩小操作时,一个设备像素覆盖了多个CSS像素
  //右图表示当用户进行放大操作时,一个CSS像素覆盖了多个设备像素

 

不论我们进行缩小或放大操作,元素设置的CSS像素(如width:300px)是始终不变的,而一个CSS像素对应多少个设备像素是根据当前的缩放比例来决定的。

 DPR(devicePixelRatio)

DPR = 设备像素 / css像素

CSS像素对应着以后要提到的理想视口,其对应的javascript属性是screen.width/screen.height

而设备像素比DPR也有对应的javascript属性window.devicePixelRatio

以iphone5为例,iphone5的CSS像素为320px*568px,DPR是2,所以其设备像素为640px*1136px。

640(px) / 320(px)  = 2
1136(px) / 568(px) = 2
640(px)*1136(px) /  320(px)*568(px) = 4

 三、媒体查询

1. <link>标签

<link rel="stylesheet" href="main.css"  media="screen and (min-width:600px)">

2. css文件中通过@media进行媒体查询

@media screen and (min-width: 600px) {
/* 写规则 */
}

 

posted @ 2019-09-11 10:20  cecelia  阅读(304)  评论(0编辑  收藏  举报