css的四种引入方式
内联方式(行间样式)
<div style="width:100px;height: 100px; background-color: red"></div>
这通常是个很糟糕的书写方式,它只能改变当前标签的样式,如果想要多个<div>
拥有相同的样式,你不得不重复地为每个<div>
添加相同的样式,如果想要修改一种样式,又不得不修改所有的 style 中的代码。很显然,内联方式引入 CSS 代码会导致 HTML 代码变得冗长,且使得网页难以维护。
嵌入方式
<head>
<style>
.embedded {
width: 50px;
height: 50px;
background-color: black
}
</style>
</head>
<div class="embedded"></div>
嵌入方式的 CSS 只对当前的网页有效。因为 CSS 代码是在 HTML 文件中,所以会使得代码比较集中,当我们写模板网页时这通常比较有利。因为查看模板代码的人可以一目了然地查看 HTML 结构和 CSS 样式。因为嵌入的 CSS 只对当前页面有效,所以当多个页面需要引入相同的 CSS 代码时,这样写会导致代码冗余,也不利于维护。
链接方式
<head>
<link rel="stylesheet" href="reference.css">
</head>
<div class="link"></div>
这是最常见的也是最推荐的引入 CSS 的方式。使用这种方式,所有的 CSS 代码只存在于单独的 CSS 文件中,所以具有良好的可维护性。并且所有的 CSS 代码只存在于 CSS 文件中,CSS 文件会在第一次加载时引入,以后切换页面时只需加载 HTML 文件即可。
导入方式
<head>
<style>
@import url(import.css);
</style>
</head>
<div class="import"></div>
当 HTML 文件被加载时,link 引用的文件会同时被加载,而 @import 引用的文件则会等页面全部下载完毕再被加载;所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显。
注意:
-
@import
必须是在<style>
标签内,或者一个CSS文件中,并且是要在样式定义之前使用。 -
@import
是 CSS2.1 才出现的概念,所以如果浏览器版本较低,无法正确导入外部样式文件; - IE使用
@import
无法引入超过35条的样式表。 - 3种方式都有效(当使用url(url)的方式时,包住路径的引号可有可无;当直接使用url时,包住路径的引号必须保留。
- @import url("import.css");
- @import url(import.css);
- @import "import.css";