是否已加载指定媒体的LINKed样式表?

问题描述 投票:1回答:2

我希望样式表超出LINK标签中定义的设备宽度,如果不适用,则不能加载。

我可以通过将导入行放在底部来从主样式表(对于手持设备)导入它,只有当我知道在解析了其余的css之后才导入该文件,包括图像。

那么在指定媒体属性时,链接标记的行为是什么?他们还没有使用但仍然装?他们根本没装? (我希望如何)

谢谢。

html css media-queries
2个回答
0
投票

浏览器不能假设它永远不会匹配媒体查询,因此它必须加载样式表以防它与媒体查询匹配并且必须使用样式表作为结果。这消除了与延迟加载相关的任何网络延迟,这会导致类似于FOUC的问题,其中内容在几分之一秒内看起来不正确(或者,如果连接变得非常不稳定,几秒钟),因为浏览器等待在可以使用之前加载样式表。

请注意,@import语句也是如此。但是,规范不要求浏览器有条件地加载样式表,或者总是加载样式表。这取决于实现。据我所知,无论媒体查询如何,所有浏览器都会加载样式表。

在任何规则集之前,你不能在样式表的开头之外的任何地方使用@import语句。


1
投票

Scott Jehl有一个polyfill,它试图覆盖浏览器默认值以加载每个链接的样式表。

https://github.com/scottjehl/eCSSential

© www.soinside.com 2019 - 2024. All rights reserved.