屏幕分辨率问题及@media

1.像素

物理像素/设备像素

物理像素也被称为设备像素,它是显示设备最微小的物理部件。

屏幕密度 通常以每英寸有多少物理像素来计算(PPI)

独立像素/css像素,是一个抽象的单位,主要用于浏览器上,用了精确度量web页面上的内容。一般情况下,CSS像素被称为与设备无关的像素(device-independent像素),简称为“DIPs”

在一个标准的显示密度下,一个CSS像素对应着一个设备像素。

独立像素比/window.devicePixelRatio window.devicePixelRatio=物理像素/独立像素

通过计算你会发现刚才的两种手机的结果分别是1或者2(当然还有其它手机屏幕结果有些差别)

手机屏幕分为: 一:非视网膜屏幕(物理像素320,该设备的独立像素(视区宽度)也是320)

        二:视网膜屏幕(物理像素640,该设备的独立像素(视区宽度)还是320

<meta name="viewport"content="width=device-width"> 这个代码的作用就是让视图区域撑满手机物理屏幕。

html文件头部加上这个代码后,手机显示的大小和电脑显示的大小尺寸大小就一样了。 但是手机上显示的图片就模糊了,这是因为你要显示同样的物理大小,视网膜屏幕就要用双倍的物理像素来显示(一个一像素的图片,如果用浏览器4个像素(即放大了一倍)来看会变模糊和失真,所以在给手机做图片的时候,要放大一倍,就是在手机上显示的图片是100乘以100,那ps做图片要做成200乘以200这样才会清晰)。

 

笔记本的分辨率:

10-12英寸(上网本)1024×600、1366×768
13.3-15.6英寸大部分是1366×768
13英寸有1280×800、1600×900
15英寸有1600×900、1920×1080(单屏最高分辨率)
还有18、19英寸的,分辨率也是1920×1080
华硕三屏笔记本是1920×1080的3倍。


响应式布局方式:
1.外联样式表

在这里我们可以根据不同的设备载入不同的CSS样式表

1 <link rel="stylesheet" type="text/css" media="screen and (min-width:960px)" href="css/gt-960px.css">

当页面宽度大于等于960px时,载入样式表gt-960px.css

1 <link rel="stylesheet" type="text/css" media="screen and (min-width:600px) and (max-width:960px)" href="css/gt-600px-lt-960px.css">

当页面宽度大于等于600px且小于等于960px时,载入样式表gt-600px-lt-960px.css

1 <link rel="stylesheet" type="text/css" media="screen and (max-width:600px)" href="css/lt-600px.css">

当页面宽度小于等于600px时,载入样式表lt-600px.css


2.样式表中内嵌发
@media screen and(){
}
3.弹性图片

弹性图片

我们需要为图片设置max-width: 100%和height: auto,来实现其弹性化。

1 img {
2   max-width: 100%;
3   height: auto;
4   width: auto9; /* ie8 */
5 }
posted @ 2017-03-20 19:23  夏日雪  阅读(2091)  评论(0编辑  收藏  举报