css3 媒体查询
定义:使用 @media 查询,可以针对不同的媒体类型定义不同的样式。
@media 可以针对不同的屏幕尺寸设置不同的样式,特别是如果你需要设置设计响应式的页面。
css媒体查询语法
@media only screen and|not(max-width: 768px) { div{ background: red; } }
你也可以针对不同的媒体使用不同 stylesheets :
<link rel="stylesheet" media="mediatype and|not|only (media feature)" href="mystylesheet.css">
媒体类型
值 |
描述 |
all |
用于所有设备 |
aural |
已废弃。用于语音和声音合成器 |
braille |
已废弃。 应用于盲文触摸式反馈设备 |
embossed |
已废弃。 用于打印的盲人印刷设备 |
handheld |
已废弃。 用于掌上设备或更小的装置,如PDA和小型电话 |
|
用于打印机和打印预览 |
projection |
已废弃。 用于投影设备 |
screen |
用于电脑屏幕,平板电脑,智能手机等。 |
speech |
应用于屏幕阅读器等发声设备 |
媒体功能
值 |
描述 |
aspect-ratio |
定义输出设备中的页面可见区域宽度与高度的比率 |
color |
定义输出设备每一组彩色原件的个数。如果不是彩色设备,则值等于0 |
color-index |
定义在输出设备的彩色查询表中的条目数。如果没有使用彩色查询表,则值等于0 |
device-aspect-ratio |
定义输出设备的屏幕可见宽度与高度的比率。 |
device-height |
定义输出设备的屏幕可见高度。 |
device-width |
定义输出设备的屏幕可见宽度。 |
grid |
用来查询输出设备是否使用栅格或点阵。 |
height |
定义输出设备中的页面可见区域高度。 |
max-aspect-ratio |
定义输出设备的屏幕可见宽度与高度的最大比率。 |
max-color |
定义输出设备每一组彩色原件的最大个数。 |
max-color-index |
定义在输出设备的彩色查询表中的最大条目数。 |
max-device-aspect-ratio |
定义输出设备的屏幕可见宽度与高度的最大比率。 |
max-device-height |
定义输出设备的屏幕可见的最大高度。 |
max-device-width |
定义输出设备的屏幕最大可见宽度。 |
max-height |
定义输出设备中的页面最大可见区域高度。 |
max-monochrome |
定义在一个单色框架缓冲区中每像素包含的最大单色原件个数。 |
max-resolution |
定义设备的最大分辨率。 |
max-width |
定义输出设备中的页面最大可见区域宽度。 |
min-aspect-ratio |
定义输出设备中的页面可见区域宽度与高度的最小比率。 |
min-color |
定义输出设备每一组彩色原件的最小个数。 |
min-color-index |
定义在输出设备的彩色查询表中的最小条目数。 |
min-device-aspect-ratio |
定义输出设备的屏幕可见宽度与高度的最小比率。 |
min-device-width |
定义输出设备的屏幕最小可见宽度。 |
min-device-height |
定义输出设备的屏幕的最小可见高度。 |
min-height |
定义输出设备中的页面最小可见区域高度。 |
min-monochrome |
定义在一个单色框架缓冲区中每像素包含的最小单色原件个数 |
min-resolution |
定义设备的最小分辨率。 |
min-width |
定义输出设备中的页面最小可见区域宽度。 |
monochrome |
定义在一个单色框架缓冲区中每像素包含的单色原件个数。如果不是单色设备,则值等于0 |
orientation |
定义输出设备中的页面可见区域高度是否大于或等于宽度。 |
resolution |
定义设备的分辨率。如:96dpi, 300dpi, 118dpcm |
scan |
定义电视类设备的扫描工序。 |
width |
定义输出设备中的页面可见区域宽度。 |
实例一
当浏览器的宽度在 520 到 699px, 改变背景色
@media screen and (max-width: 699px) and (min-width: 520px) { background: red; }
实例二
创建适应不同设备的方向(横屏landscape、竖屏portrait等)的布局。
orientation:portrait | landscape
portrait:指定输出设备中的页面可见区域高度大于或等于宽度
landscape: 除portrait值情况外,都是landscape
@media only screen and (orientation: landscape) { body { background-color: lightblue; } }