CSS3媒体查询
media媒体查询,根据当前宽度变化来运用样式,不同的宽度应用不同的样式
使用 @media 查询,你可以针对不同的媒体类型定义不同的样式。 可以针对不同的屏幕尺寸设置不同的样式。
逻辑操作符
逻辑操作符,包括not、or,and和only,可以利用逻辑操作符构建复杂的媒体查询。
and:把多个媒体属性通过and连接起来,合并到同一条媒体查询中。只有当每个属性都为满足时,则执行
注意:在不使用not或only操作符的情况下,所有媒体类型是可选的,默认为all。
or:多个媒体查询以逗号or放在一起;只要其中任何一个为真,整个媒体语句就返回真,相当于逗号分隔操作符。
not:not操作符用来对一条媒体查询的结果进行取反
注意:not关键字仅能应用于整个查询,而不能单独应用于一个独立的查询。
only:only操作符表示仅在媒体查询匹配成功时应用指定样式。可以通过它让选中的样式在老式浏览器中不被应用。
常见的设备类型和宽度
这里说的宽度是用来编码的布局宽度。
超小屏幕768px以下
小屏设备 768px-992px
中等屏幕 992px-1200px
大屏设备 1200px以上
属性
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:检测输出的设备是网格的还是位图设备。
在css中@media 可以在页面任意位置:
这是一个当文档宽度大于999的时候应用下面样式小于999 时就不使用该样式
@media screen and (min-width : 999px) {
body {
background-color: #faa;
color: #a00;
margin: 0;
}
}
下面给上一个实例: 我需要当宽度为560时背景时黑色 大于560 小于960 背景颜色为蓝色 大于960背景颜色为 橙色
@media screen and (min-width : 960px) {
body{
background-color: #FFB952;
}
}
@media screen and (min-width:560px) and (max-width:960px) {
body{
background-color:dodgerblue;
}
}
@media screen and (max-width:560px) {
body{
background-color:#000000;
}
}