本质上,这两种方式都是为了加载CSS文件,但还是存在着细微的差别。
一、老祖宗的差别。
link属于XHTML标签,而@import完全是CSS提供的一种方式。
link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS了。
二、加载顺序的差别。
当一个页面被加载的时候,link引用的CSS会同时被加载,而@import引用的CSS 会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式,网速慢的时候还挺明显。
简而言之就是,link引用CSS时,在页面载入时同时加载;@import需要等页面完全载入后才加载。
三、兼容性的差别。
由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。
四、使用dom控制样式时的差别。
当使用javascript控制dom去改变样式的时候,只能使用link标签,因为@import不是dom可以控制的。
五、链入方式上有区别。
link导入方式:
<link rel="stylesheet" type="text/css" href="index.css">
@import导入的方式:
<style type="text/css">
@import url('index.css')
</style>
如图所示,并且@import可以在CSS文件中再次引入其他样式表。
a:link { text-decoration: none}a:visited { text-decoration: none}
a:hover { text-decoration: underline}
a:active { text-decoration: underline}
注意:在 CSS 定义中,a:hover 必须位于 a:link 和 a:visited 之后才能生效,a:active 必须位于 a:hover 之后才能生效。
1、当我们没有引入外部css样式表的时候,一般情况下我们会在html里写样式,而又两种方式使我们常见的,第一种:
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<title>time元素</title>
</head>
<body>
<div style="height:300pxwidth:500pxbackground:#999"></div>
</body>
2、第二种写法:
<head>
<meta http-equiv="Content-Type" content="text/htmlcharset=utf-8" />
<title>time元素</title>
<style>
.all{
height:300px
width:500px
background:#999}
</style>
</head>
<body>
3、建立一个css样式表文件
4、存储在css文件夹中
5、在html文件中写入链接代码,代码如下:
<link rel="stylesheet" type="text/css" href="css/index.css" />
6、之后可以看到HTML文件的源代码傍边看到我们所连接的css文件,此时就连接成功。