通过link标签的media属性可针对不同设备加载对应CSS文件,如移动设备、打印场景或高分辨率屏,实现响应式设计并提升性能。

通过 link 标签设置媒体查询条件,可以在不同设备或屏幕尺寸下加载不同的 CSS 文件。这在响应式网页设计中非常实用,能有效提升页面性能和用户体验。
使用 media 属性定义查询条件
在 link 标签中加入 media 属性,可以指定该样式表在何种条件下生效。浏览器会根据设备的特性(如屏幕宽度、分辨率、方向等)判断是否应用对应的 CSS 文件。
常见用法包括:
- 只在屏幕宽度小于 600px 时加载:
<link rel="stylesheet" href="mobile.css" media="screen and (max-width: 600px)"> - 仅在打印时使用:
<link rel="stylesheet" href="print.css" media="print"> - 适用于高分辨率屏幕:
<link rel="stylesheet" href="high-res.css" media="screen and (min-resolution: 2dppx)"> - 横屏设备才加载:
<link rel="stylesheet" href="landscape.css" media="screen and (orientation: landscape)">
组合多个媒体条件
可以使用 and 连接多个条件,实现更精确的控制。只有当所有条件都满足时,CSS 文件才会被应用。
例如:
-
<link rel="stylesheet" href="tablet.css" media="screen and (min-width: 601px) and (max-width: 1024px)">—— 仅在平板设备范围生效。 -
<link rel="stylesheet" href="dark-mode.css" media="(prefers-color-scheme: dark)">—— 用户系统设为深色模式时加载。
默认加载与备用方案
如果不设置 media 属性,或设为 all 或 screen,样式表会在大多数情况下加载。建议为关键样式使用默认 link,而将特定布局或主题拆分到带 media 条件的文件中。
小技巧:
- 可同时引入多个带不同 media 的 link,实现分层控制。
- 现代浏览器支持动态切换 media 条件,页面缩放或旋转时会自动启用/停用对应样式表。
基本上就这些。合理使用 media 属性能让页面更灵活地适配各种设备,不复杂但容易忽略细节。


