是否有可能包括CSS文件与媒体查询另一个CSS文件?(Is it possible to inclu

2019-07-17 18:17发布

我有一个大的CSS文件,我想包括使用媒体查询特殊情况下,其他的CSS文件。

它是安全使用@import在这样的CSS:

@media only screen and (max-width: 480px) {    
    @import url('/css/styles-480.css');    
}

Answer 1:

相反,一个CSS文件中导入的,我建议你并行下载CSS文件(如果需要):

<link media="only screen and (max-width: 480px)"
href="/css/styles-480.css" type="text/css" rel="stylesheet" />

使用的问题@import是,第二个文件是包含CSS文件后,仅下载@import完全下载和解析。 无论您是覆盖所有的规则或某些规则的,这种做法是更快,因为它不按顺序加载文件。



Answer 2:

这不是有效的有@import一个内@media规则,所以你有什么都不行。

要做到这一点,正确的做法是更简单- @import本身接受的URL后媒体查询:

@import url('/css/styles-480.css') only screen and (max-width: 480px);

此语法在CSS2.1与媒体类型的使用介绍 ,但媒体的质疑也将工作 ,因为他们是从媒体类型的直接延伸。

请记住, @import规则可以在样式表的开始只存在。

如果你担心负载性能,您可能需要使用一个单独<link>元素在你的页面头部引用这个样式表而不是@import , 如图阿萨德 。 但是,无论哪种方式会工作得很好。



文章来源: Is it possible to include a CSS file into another CSS file with a media query?