首页 > 代码库 > 响应式WEB&媒体查询

响应式WEB&媒体查询

为什么响应式设计需要媒体查询?

媒体查询 中可用于检测的媒体特性有 width、height 和 color(等)。使用媒体查询, 可以在不改变页面内容的情况下,为特定的一些输出设备定制显示效果。

使用媒体查询步骤:

1、在head中引入下面这个meta标签:

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

width = device-width:宽度等于当前设备的宽度

initial-scale:初始的缩放比例(默认设置为1.0)  

minimum-scale:允许用户缩放到的最小比例(默认设置为1.0)    

maximum-scale:允许用户缩放到的最大比例(默认设置为1.0)   

user-scalable:用户是否可以手动缩放(默认设置为no,因为我们不希望用户放大缩小页面) 

2、在CSS中可以使用Media

@media screen and (min-width:960px) and (max-width:1200px){
    body{
        background:yellow;
    }
}

表示为当屏幕宽的像素大于960px并且小于1200px的时候body的背景色为yellow。

3、media所有参数

width:浏览器可视宽度。

height:浏览器可视高度。

device-width:设备屏幕的宽度。

device-height:设备屏幕的高度。

orientation:检测设备目前处于横向还是纵向状态。

aspect-ratio:检测浏览器可视宽度和高度的比例。(例如:aspect-ratio:16/9)

device-aspect-ratio:检测设备的宽度和高度的比例。

color:检测颜色的位数。(例如:min-color:32就会检测设备是否拥有32位颜色)

color-index:检查设备颜色索引表中的颜色,他的值不能是负数。

monochrome:检测单色楨缓冲区域中的每个像素的位数。(这个太高级,估计咱很少会用的到)

resolution:检测屏幕或打印机的分辨率。(例如:min-resolution:300dpi或min-resolution:118dpcm)。

grid:检测输出的设备是网格的还是位图设备。

4、注意事项

响应式设计需要使用百分比和em、rem,不用px。

em:参照的是上下文(父元素)的font-size

rem:参照的是body的font-size

百分比和max-width、min-width配合使用:

#wrapper{
  width:96%;
  max-width:1200px;
}

当某个元素宽度使用百分比,而又不想使其超过某像素值.

 

响应式WEB&媒体查询