我有一个大的CSS文件,我想包括使用媒体查询特殊情况下,其他的CSS文件。
它是安全使用@import
在这样的CSS:
@media only screen and (max-width: 480px) {
@import url('/css/styles-480.css');
}
我有一个大的CSS文件,我想包括使用媒体查询特殊情况下,其他的CSS文件。
它是安全使用@import
在这样的CSS:
@media only screen and (max-width: 480px) {
@import url('/css/styles-480.css');
}
相反,一个CSS文件中导入的,我建议你并行下载CSS文件(如果需要):
<link media="only screen and (max-width: 480px)"
href="/css/styles-480.css" type="text/css" rel="stylesheet" />
使用的问题@import
是,第二个文件是包含CSS文件后,仅下载@import
完全下载和解析。 无论您是覆盖所有的规则或某些规则的,这种做法是更快,因为它不按顺序加载文件。
这不是有效的有@import
一个内@media
规则,所以你有什么都不行。
要做到这一点,正确的做法是更简单- @import
本身接受的URL后媒体查询:
@import url('/css/styles-480.css') only screen and (max-width: 480px);
此语法在CSS2.1与媒体类型的使用介绍 ,但媒体的质疑也将工作 ,因为他们是从媒体类型的直接延伸。
请记住, @import
规则可以在样式表的开始只存在。
如果你担心负载性能,您可能需要使用一个单独<link>
元素在你的页面头部引用这个样式表而不是@import
, 如图阿萨德 。 但是,无论哪种方式会工作得很好。