推荐在单个CSS文件内使用@media规则做响应式布局,按视口宽度设断点(如768px、1024px),结合device-pixel-ratio适配高清屏,避免用多个link标签引入CSS。
可以通过 CSS 媒体查询(@media)为不同屏幕分辨率(或视口宽度)应用不同的样式规则,而不是用多个 标签引入不同 CSS 文件。现代前端开发中,**推荐在单个 CSS 文件内使用 @media 规则做响应式布局**,更高效、易维护。
@media 写分辨率适配样式媒体查询根据视口宽度(width)、设备像素比(device-pixel-ratio)、方向(orientation)等条件匹配并生效对应样式。
例如:@media screen and (max-width: 768px) { /* 手机样式 */ }@media screen and (min-width: 769px) and (max-width: 1024px) { /* 平板样式 */ }@media screen and (min-width: 1025px) { /* 桌面样式 */ }
min-resolution 或 -webkit-min-device-pixel-ratio 区分高清屏(如 Retina):@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) { /* 高清屏专用样式,比如替换 @2x 图片 */ }
虽然 HTML 中支持给 标签加 media 属性(如 ),但存在明显问题:
media 的 CSS 文件(即使不匹配),影响加载性能;一个典型做法是:
@media (min-width: 768px) 往上递进增强平板样式;@media (min-width: 1024px) 补充桌面端细节(如侧边栏、栅格列数);@media (prefers-reduced-motion: reduce) 或 (prefers-color-scheme: dark) 做无障碍/主题适配。别忘了在 HTML 中加入标准 viewport meta 标签,否则移动端媒体查询可能失效: