媒体查询必须写在CSS文件或标签内,而非的media属性中;后者仅控制样式表是否加载,不参与样式逻辑。
媒体查询本身不通过 的 media 属性“引入”,而是写在 CSS 文件里或 标签中。但你可能混淆了两种不同用途的 media:一种是 HTML 中 标签的 media 属性(用于条件加载整个样式表),另一种才是真正的 CSS 媒体查询(@media 规则)。下面分清楚讲。
它只控制「这个 CSS 文件是否被浏览器下载并解析」,不参与样式逻辑运算:
:只有当设备满足条件时,才加载 mobile.css;否则完全忽略该文件:仅在打印预览或调用打印时生效,不影响屏幕显示真正起作用的媒体查询是 CSS 规则,必须放在 .css 文件或 里:
@media screen and (max-width: 768px) { .header { font-size: 14px; } }
@mediascreenand (max-width:768px){...}(漏空格、缺 @ 符号、无空格、括号紧贴 and)因为它的行为和你预期的不一样:
link media 可能因 UA 或模拟精度问题误判,导致文件未加载@media 查询,更
可控、易调试日常开发中优先用 CSS 内部的 @media,而不是 :
@media 在主样式里,但内容仍需完整定义@media (prefers-color-scheme: dark),不是 link medialink media,但已基本淘汰基本上就这些。别把 link 的 media 当成媒体查询用,它们解决的是不同层级的问题。