CSS 媒体查询
CSS 媒体查询模块能够测试和查询视口值以及浏览器或设备功能,从而根据当前用户环境有条件地应用 CSS 样式。媒体查询用于 CSS @media 规则以及 HTML 和 JavaScript 等其他上下文和语言中。
媒体查询是响应式设计的关键组成部分。它们能够根据设备特性的存在或值有条件地设置 CSS 样式。通常使用基于视口大小的媒体查询来为具有不同屏幕尺寸的设备设置适当的布局——例如,在宽屏上设置三列,在窄屏上设置单列。
其他常见示例包括在打印页面时增加字体大小和隐藏导航菜单,在页面以纵向或横向模式查看时调整段落之间的填充,或者增加按钮大小以在触摸屏上提供更大的点击区域。
在CSS中,使用@media@规则根据媒体查询的结果有条件地应用样式表的一部分。要条件性地应用整个样式表,请使用@import。
在设计可重用 HTML 组件时,你还可以使用容器查询,它允许你根据包含元素的大小而不是视口或其他设备特性来应用样式。
参考
@ 规则
描述符
any-hoverany-pointeraspect-ratiocolorcolor-gamutcolor-indexdevice-aspect-ratiodevice-heightdevice-widthdisplay-modedynamic-rangeforced-colorsgridheighthorizontal-viewport-segmentshoverinverted-colorsmonochromeorientationoverflow-blockoverflow-inlinepointerprefers-color-schemeprefers-contrastprefers-reduced-dataprefers-reduced-motionprefers-reduced-transparencyresolutionscanscriptingupdatevertical-viewport-segmentsvideo-dynamic-rangewidth
CSS 媒体查询级别 5 模块还引入了 environment-blending、nav-controls 和 video-color-gamut @media 描述符。目前,没有浏览器支持这些功能。
注意:CSS 媒体查询级别 4 弃用了三个 @media 描述符:device-aspect-ratio、device-height 和device-width。
数据类型和运算符
术语表
指南
相关概念
- CSS 限制模块
@containerat-rule- 使用容器查询
- 使用尺寸和样式容器查询
- CSS 条件规则模块
- CSS 环境变量
env()函数
- CSS 分页媒体模块
@page@规则
- CSS 对象模型模块
MediaQueryList接口MediaList接口mediaText属性
MediaQueryListEvent对象
- 设备姿态 API
device-posture描述符
- HTML
- SVG
media属性
规范
| 规范 |
|---|
| 媒体查询级别 3 |
| 媒体查询第 4 级 |
| 媒体查询 Level 5 |
另见
- 容器查询
- 使用
srcset和sizes属性 - CSS 分页媒体
- 使用
@supports应用取决于浏览器对各种 CSS 技术的支持的样式。