CSS 教程
1. CSS 教程 2. CSS 简介 3. CSS 语法 4. CSS Id 和 Class选择器 5. CSS 创建 6. CSS Backgrounds(背景) 7. CSS Text(文本) 8. CSS Fonts(字体) 9. CSS 链接(link) 10. CSS 列表样式(ul) 11. CSS Table(表格) 12. CSS 盒子模型 13. CSS Border(边框) 14. CSS 轮廓(outline)属性 15. CSS margin(外边距) 16. CSS padding(填充) 17. CSS 分组和嵌套 18. CSS 尺寸 (Dimension) 19. CSS Display(显示) 与 Visibility(可见性) 20. CSS Position(定位) 21. CSS Float(浮动) 22. CSS 布局 – 水平 & 垂直对齐 23. CSS 伪类 24. CSS 伪元素 25. CSS 导航栏 26. CSS 图片廊 27. CSS 图像透明/不透明 28. CSS 图像拼合技术 29. CSS 媒体类型 30. CSS 属性选择器 31. CSS 总结 32. CSS 实例 33. CSS3 教程 34. CSS3 简介 35. CSS3 边框 36. CSS3 背景 37. CSS3 文本效果 38. CSS3 字体 39. CSS3 2D 转换 40. CSS3 3D 转换 41. CSS3 过渡 42. CSS3 动画 43. CSS3 多列 44. CSS3 用户界面 45. CSS 图片 46. CSS 按钮 47. CSS 分页实例 48. CSS3 框大小 49. CSS3 弹性盒子 50. CSS3 多媒体查询 51. CSS3 多媒体查询实例

CSS3 多媒体查询

CSS3 多媒体查询


CSS2 多媒体类型

@media 规则在 CSS2 中有介绍,针对不同媒体类型可以定制不同的样式规则。

例如:你可以针对不同的媒体类型(包括显示器、便携设备、电视机,等等)设置不同的样式规则。

但是这些多媒体类型在很多设备上支持还不够友好。


CSS3 多媒体查询

CSS3 的多媒体查询继承了 CSS2 多媒体类型的所有思想: 取代了查找设备的类型,CSS3 根据设置自适应显示。

媒体查询可用于检测很多事情,例如:

  • viewport(视窗) 的宽度与高度
  • 设备的宽度与高度
  • 朝向 (智能手机横屏,竖屏) 。
  • 分辨率

目前很多针对苹果手机,Android 手机,平板等设备都会使用到多媒体查询。


浏览器支持

表格中的数字表示支持该属性的第一个浏览器的版本号。

属性
@media 21.0 9.0 3.5 4.0 9.0

多媒体查询语法

多媒体查询由多种媒体组成,可以包含一个或多个表达式,表达式根据条件是否成立返回 true 或 false。

@media not|only mediatype and (expressions) { CSS 代码...; }

如果指定的多媒体类型匹配设备类型则查询结果返回 true,文档会在匹配的设备上显示指定样式效果。

除非你使用了 not 或 only 操作符,否则所有的样式会适应在所有设备上显示效果。

  • not: not是用来排除掉某些特定的设备的,比如 @media not print(非打印设备)。

  • only: 用来定某种特别的媒体类型。对于支持Media Queries的移动设备来说,如果存在only关键字,移动设备的Web浏览器会忽略only关键字并直接根据后面的表达式应用样式文件。对于不支持Media Queries的设备但能够读取Media Type类型的Web浏览器,遇到only关键字时会忽略这个样式文件。

  • all: 所有设备,这个应该经常看到。

你也可以在不同的媒体上使用不同的样式文件:

<link rel="stylesheet" media="mediatype and|not|only (expressions)" href="print.css">

CSS3 多媒体类型

描述
all 用于所有多媒体类型设备
print 用于打印机
screen 用于电脑屏幕,平板,智能手机等。
speech 用于屏幕阅读器

多媒体查询简单实例

使用多媒体查询可以在指定的设备上使用对应的样式替代原有的样式。

以下实例中在屏幕可视窗口尺寸小于 480 像素的设备上修改背景颜色:

实例

@media screen and (max-width: 480px) { body { background-color: lightgreen; } }

55面试教程网 »

以下实例在屏幕可视窗口尺寸大于 480 像素时将菜单浮动到页面左侧:

实例

@media screen and (min-width: 480px) { #leftsidebar {width: 200px; float: left;} #main {margin-left:216px;} }

55面试教程网 »

以下实例在屏幕可视窗口尺寸小于 600 像素时将 div 元素隐藏:

实例

@media screen and (max-width: 600px) { div.example { display: none; } }

55面试教程网 »

CSS3 @media 参考

更多多媒体查询内容可以参考 @media 规则。