众所周知,外部引用css分为两种方式link和@import。那么,你知道它们的区别吗?你知道什么时候使用@import?什么时候使用link吗?下面就让我们一起来探讨一下。
一、link和@import
首先我们来了解一下link和@import的具体形式。
1.link
link就是把外部CSS与网页连接起来,具体形式
<link href=”http://www.kokojia.com/tz.php?url=www.kokojia.com/styles.css”type=”text/css”/>
@import具体形式
<style type=”text/css”>@import url(“http://www.kokojia.com/styles.css”);</style>
二、@import和link的区别
本质上,这两种方式都是为了加载CSS文件,但还是存在着细微的差别。
差别1:老祖宗的差别
link属于Xhtml标签,而@import完全是CSS提供的一种方式。
link标签除了可以加载CSS外,还可以做很多其它的事情,比如定义RSS,定义rel连接属性等,@import就只能加载CSS了。
差别2:加载顺序的差别
当一个页面被加载的时候(就是被浏览者浏览的时候),link引用的CSS会同时被加载,而@import引用的CSS会等到页面全部被下载完再被加载。所以有时候浏览@import加载CSS的页面时开始会没有样式(就是闪烁),网速慢的时候还挺明显。
差别3:兼容性的差别
由于@import是CSS2.1提出的所以老的浏览器不支持,@import只有在IE5以上的才能识别,而link标签无此问题。
差别4:使用DOM控制样式时的差别
当使用javaScript控制DOM去改变样式的时候,只能使用link标签,因为@import不是DOM可以控制的。
差别5:@import可以在CSS中再次引入其他样式表
比如可以创建一个主样式表,在主样式表中再引入其他的样式表。
三、何时使用@import,何时使用link
在实际操作中,我们应该何时使用@import?何时使用link呢?
大部分使用@import方式的人是因为旧的浏览器是不支持@import方式的,这意味着我们可以使用@import来引入只让现代浏览器解析的CSS样式。当然另一个原因是,当我们的网页需要引入几个外部CSS文件时.需要使用link引入一个CSS,然后在这个CSS文件中用@import方式引入其它几个CSS文件。
而使用link方式的原因是,我们可以让用户切换CSS样式。现代浏览器如Firefox,Opera,Safari都支持rel=”alternate stylesheet”属性(即可在浏览器上选择不同的风格)。
那么到底要用那种方式呢?
就目前看来小型的网站还是使用link比较合适(或者说比较流行),当然如果将来我们需要把CSS进行模块化管理也肯定要用到@import。所以具体使用哪个要视实际情况而定,不能一概而论。
好了!import与link的区别我们今天就探讨到这里了。那么通过本文的介绍,你了解到它们的区别了吗?如果还不了解不妨多看几遍!相信你一定会有收获的!