之间是否存在有效差异?
<style type="text/css">@import url(/css/layout.css) all;</style>
和
<link href="/css/layout.css" type="text/css" static="all" rel="stylesheet">
浏览器的行为有何不同?
w3c等推荐什么?
答案 0 :(得分:3)
您应该使用<link>
代替@import
有几个原因,其中2个是:
@import
可能会导致意外排序。@import
可能会导致blank white screen problem。有关网站效果的更多信息,请参阅High Performance Web Sites。
答案 1 :(得分:2)
我心中也有同样的问题。当我通过Jennifer Kyrnin的博客时,我有一个清晰的想法,
要了解更多信息,请查看here
答案 2 :(得分:1)
从两个样式表开始:simple.css(仅适用于早期浏览器的简单规则)modern.css(高级CSS2,用于覆盖simple.css中规则的规则)
创建仅包含:
的第三个样式表“import.css”@import "modern.css";
链接文档HEAD中的simple.css和import.css:
<link rel="stylesheet" type="text/css" href="simple.css" />
<link rel="stylesheet" type="text/css" href="import.css" />
所有CSS1浏览器都将加载simple.css和import.css,但是,只有现代浏览器才能理解@import规则并加载modern.css。由于modern.css是在simple.css之后链接的,因此它的规则将更容易覆盖simple.css中的规则。 替代语法
不同版本的导入规则对旧版浏览器提供不同级别的支持。
@import "style.css"; /* hidden from nearly all v4 browsers */
@import url('style.css'); /* IE4 can understand, but not NN4 */
...
我们不应该将@import放在simple.css ....
的底部根据CSS规范,@ import规则必须在样式表中的任何其他CSS规则之前,因此这需要将它放在自己的样式表中以实现这些目的。