link和@import的區(qū)別深入探討
發(fā)布時(shí)間:2013-04-03 15:50:29 作者:佚名
我要評(píng)論

link引用CSS時(shí),在頁(yè)面載入時(shí)同時(shí)加載;@import需要頁(yè)面網(wǎng)頁(yè)完全載入以后加載;ink支持使用Javascript控制DOM去改變樣式;而@import不支持等等,感興趣的朋友可以參考下哈
頁(yè)面中使用CSS的方式主要有3種:行內(nèi)添加定義style屬性值,頁(yè)面頭部?jī)?nèi)嵌調(diào)用和外面鏈接調(diào)用,其中外面引用有兩種:link和@import。外部引用CSS兩種方式link和@import的方式分別是:
XML/HTML代碼
<link rel="stylesheet" rev="stylesheet" href="CSS文件" type="text/css" media="all" />
XML/HTML代碼
<style type="text/css" media="screen">
@import url("CSS文件");
</style>
兩者都是外部引用CSS的方式,但是存在一定的區(qū)別:
區(qū)別1:link是XHTML標(biāo)簽,除了加載CSS外,還可以定義RSS等其他事務(wù);@import屬于CSS范疇,只能加載CSS。
區(qū)別2:link引用CSS時(shí),在頁(yè)面載入時(shí)同時(shí)加載;@import需要頁(yè)面網(wǎng)頁(yè)完全載入以后加載。
區(qū)別3:link是XHTML標(biāo)簽,無(wú)兼容問(wèn)題;@import是在CSS2.1提出的,低版本的瀏覽器不支持。
區(qū)別4:ink支持使用Javascript控制DOM去改變樣式;而@import不支持。
補(bǔ)充:@import最優(yōu)寫(xiě)法
@import的寫(xiě)法一般有下列幾種:
@import 'style.css' //Windows IE4/ NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不識(shí)別
@import "style.css" //Windows IE4/ NS4, Macintosh IE4/NS4不識(shí)別
@import url(style.css) //Windows NS4, Macintosh NS4不識(shí)別
@import url('style.css') //Windows NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不識(shí)別
@import url("style.css") //Windows NS4, Macintosh NS4不識(shí)別
由上分析知道,@import url(style.css) 和@import url("style.css")是最優(yōu)的選擇,兼容的瀏覽器最多。從字節(jié)優(yōu)化的角度來(lái)看@import url(style.css)最值得推薦。
外部引用CSS中 link與@import的區(qū)別
這兩天剛寫(xiě)完XHTML加載CSS的幾種方式,其中外部引用CSS分為兩種方式link和@import。
本質(zhì)上,這兩種方式都是為了加載CSS文件,但還是存在著細(xì)微的差別。
差別1:老祖宗的差別。link屬于XHTML標(biāo)簽,而@import完全是CSS提供的一種方式。
link標(biāo)簽除了可以加載CSS外,還可以做很多其它的事情,比如定義RSS,定義rel連接屬性等,@import就只能加載CSS了。
差別2:加載順序的差別。當(dāng)一個(gè)頁(yè)面被加載的時(shí)候(就是被瀏覽者瀏覽的時(shí)候),link引用的CSS會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁(yè)面全部被下載完再被加載。所以有時(shí)候?yàn)g覽@import加載CSS的頁(yè)面時(shí)開(kāi)始會(huì)沒(méi)有樣式(就是閃爍),網(wǎng)速慢的時(shí)候還挺明顯(夢(mèng)之都加載CSS的方式就是使用@import,我一邊下載一邊瀏覽夢(mèng)之都網(wǎng)頁(yè)時(shí),就會(huì)出現(xiàn)上述問(wèn)題)。
差別3:兼容性的差別。由于@import是CSS2.1提出的所以老的瀏覽器不支持,@import只有在IE5以上的才能識(shí)別,而link標(biāo)簽無(wú)此問(wèn)題。
差別4:使用dom控制樣式時(shí)的差別。當(dāng)使用javascript控制dom去改變樣式的時(shí)候,只能使用link標(biāo)簽,因?yàn)锧import不是dom可以控制的。
大致就這幾種差別了(如果還有什么差別,大家告訴我,我再補(bǔ)充上去),其它的都一樣,從上面的分析來(lái)看,還是使用link標(biāo)簽比較好。
標(biāo)準(zhǔn)網(wǎng)頁(yè)制作加載CSS文件時(shí),還應(yīng)該選定要加載的媒體(media),比如screen,print,或者全部all等。這個(gè)我到CSS高級(jí)教程中再給大家介紹。
注:
1,網(wǎng)友comehope在留言中提出了另一種區(qū)別。
差別5:@import可以在css中再次引入其他樣式表,比如可以創(chuàng)建一個(gè)主樣式表,在主樣式表中再引入其他的樣式表,如:
main.css
———————-
@import “sub1.css”;
@import “sub2.css”;
sub1.css
———————-
p {color:red;}
sub2.css
———————-
.myclass {color:blue}
這樣更利于修改和擴(kuò)展.
猴子提示:這樣做有一個(gè)缺點(diǎn),會(huì)對(duì)網(wǎng)站服務(wù)器產(chǎn)生過(guò)多的HTTP請(qǐng)求,以前是一個(gè)文件,而現(xiàn)在卻是兩個(gè)或更多文件了,服務(wù)器的壓力增大,瀏覽量大的網(wǎng)站還是謹(jǐn)慎使用。有興趣的可以觀(guān)察一下像新浪等網(wǎng)站的首頁(yè)或欄目首頁(yè)代碼,他們總會(huì)把css或js直接寫(xiě)在html里,而不用外部文件。
XML/HTML代碼
復(fù)制代碼
代碼如下:<link rel="stylesheet" rev="stylesheet" href="CSS文件" type="text/css" media="all" />
XML/HTML代碼
復(fù)制代碼
代碼如下:<style type="text/css" media="screen">
@import url("CSS文件");
</style>
兩者都是外部引用CSS的方式,但是存在一定的區(qū)別:
區(qū)別1:link是XHTML標(biāo)簽,除了加載CSS外,還可以定義RSS等其他事務(wù);@import屬于CSS范疇,只能加載CSS。
區(qū)別2:link引用CSS時(shí),在頁(yè)面載入時(shí)同時(shí)加載;@import需要頁(yè)面網(wǎng)頁(yè)完全載入以后加載。
區(qū)別3:link是XHTML標(biāo)簽,無(wú)兼容問(wèn)題;@import是在CSS2.1提出的,低版本的瀏覽器不支持。
區(qū)別4:ink支持使用Javascript控制DOM去改變樣式;而@import不支持。
補(bǔ)充:@import最優(yōu)寫(xiě)法
@import的寫(xiě)法一般有下列幾種:
@import 'style.css' //Windows IE4/ NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不識(shí)別
@import "style.css" //Windows IE4/ NS4, Macintosh IE4/NS4不識(shí)別
@import url(style.css) //Windows NS4, Macintosh NS4不識(shí)別
@import url('style.css') //Windows NS4, Mac OS X IE5, Macintosh IE4/IE5/NS4不識(shí)別
@import url("style.css") //Windows NS4, Macintosh NS4不識(shí)別
由上分析知道,@import url(style.css) 和@import url("style.css")是最優(yōu)的選擇,兼容的瀏覽器最多。從字節(jié)優(yōu)化的角度來(lái)看@import url(style.css)最值得推薦。
外部引用CSS中 link與@import的區(qū)別
這兩天剛寫(xiě)完XHTML加載CSS的幾種方式,其中外部引用CSS分為兩種方式link和@import。
本質(zhì)上,這兩種方式都是為了加載CSS文件,但還是存在著細(xì)微的差別。
差別1:老祖宗的差別。link屬于XHTML標(biāo)簽,而@import完全是CSS提供的一種方式。
link標(biāo)簽除了可以加載CSS外,還可以做很多其它的事情,比如定義RSS,定義rel連接屬性等,@import就只能加載CSS了。
差別2:加載順序的差別。當(dāng)一個(gè)頁(yè)面被加載的時(shí)候(就是被瀏覽者瀏覽的時(shí)候),link引用的CSS會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁(yè)面全部被下載完再被加載。所以有時(shí)候?yàn)g覽@import加載CSS的頁(yè)面時(shí)開(kāi)始會(huì)沒(méi)有樣式(就是閃爍),網(wǎng)速慢的時(shí)候還挺明顯(夢(mèng)之都加載CSS的方式就是使用@import,我一邊下載一邊瀏覽夢(mèng)之都網(wǎng)頁(yè)時(shí),就會(huì)出現(xiàn)上述問(wèn)題)。
差別3:兼容性的差別。由于@import是CSS2.1提出的所以老的瀏覽器不支持,@import只有在IE5以上的才能識(shí)別,而link標(biāo)簽無(wú)此問(wèn)題。
差別4:使用dom控制樣式時(shí)的差別。當(dāng)使用javascript控制dom去改變樣式的時(shí)候,只能使用link標(biāo)簽,因?yàn)锧import不是dom可以控制的。
大致就這幾種差別了(如果還有什么差別,大家告訴我,我再補(bǔ)充上去),其它的都一樣,從上面的分析來(lái)看,還是使用link標(biāo)簽比較好。
標(biāo)準(zhǔn)網(wǎng)頁(yè)制作加載CSS文件時(shí),還應(yīng)該選定要加載的媒體(media),比如screen,print,或者全部all等。這個(gè)我到CSS高級(jí)教程中再給大家介紹。
注:
1,網(wǎng)友comehope在留言中提出了另一種區(qū)別。
差別5:@import可以在css中再次引入其他樣式表,比如可以創(chuàng)建一個(gè)主樣式表,在主樣式表中再引入其他的樣式表,如:
main.css
復(fù)制代碼
代碼如下:———————-
@import “sub1.css”;
@import “sub2.css”;
sub1.css
———————-
p {color:red;}
sub2.css
———————-
.myclass {color:blue}
這樣更利于修改和擴(kuò)展.
猴子提示:這樣做有一個(gè)缺點(diǎn),會(huì)對(duì)網(wǎng)站服務(wù)器產(chǎn)生過(guò)多的HTTP請(qǐng)求,以前是一個(gè)文件,而現(xiàn)在卻是兩個(gè)或更多文件了,服務(wù)器的壓力增大,瀏覽量大的網(wǎng)站還是謹(jǐn)慎使用。有興趣的可以觀(guān)察一下像新浪等網(wǎng)站的首頁(yè)或欄目首頁(yè)代碼,他們總會(huì)把css或js直接寫(xiě)在html里,而不用外部文件。
相關(guān)文章
- 下面小編就為大家?guī)?lái)一篇全面了解link與import方式的區(qū)別。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2016-07-12
引入CSS的方式有哪些?link和@import的有何區(qū)別應(yīng)如何選擇
有一些頁(yè)面比較簡(jiǎn)單,流量很大的網(wǎng)站,是直接將CSS寫(xiě)在html代碼中的?他們有什么區(qū)別?CSS用import還是link好?本文搜集整理了一下,感興趣的朋友可以看看哦,希望本人對(duì)你2013-01-23- 們知道在網(wǎng)頁(yè)中引用外部CSS有兩種方式,即:@import與link,我們也經(jīng)常聽(tīng)到有人說(shuō)要使用link來(lái)引入CSS更好,但是你知道為什么嗎2009-06-26
- @import與link,我們也經(jīng)常聽(tīng)到有人說(shuō)要使用link來(lái)引入CSS更好,但是你知道為什么嗎?2009-04-15
CSS技巧:IE6用import導(dǎo)入CSS的問(wèn)題
網(wǎng)頁(yè)制作Webjx文章簡(jiǎn)介:本文描述了一個(gè)在IE6下用import導(dǎo)入CSS的問(wèn)題! 在ie 6中可以先寫(xiě)CSS再加import比如 p {} @import url("base.css");2009-04-02- 網(wǎng)頁(yè)制作Webjx文章簡(jiǎn)介:這兩天剛寫(xiě)完XHTML加載CSS的幾種方式,其中外部引用CSS分為兩種方式link和@import。 有很多網(wǎng)頁(yè)中的CSS鏈接與引用是這樣寫(xiě)的:2009-04-02
CSS兩種方式link和@import-CSS教程-網(wǎng)頁(yè)制作-網(wǎng)頁(yè)教學(xué)網(wǎng)
看到淘寶網(wǎng)頁(yè)中大部分是這樣寫(xiě)的 <style type="text/css" media="screen"> @import url("http://www.taobao.com/home/css/global/v2.0.2008-10-31css用import還是link的區(qū)別-CSS教程-網(wǎng)頁(yè)制作-網(wǎng)頁(yè)教學(xué)網(wǎng)
看到淘寶網(wǎng)頁(yè)中這樣寫(xiě)使用的是import,而很多網(wǎng)站都是使用link,當(dāng)然還有一些頁(yè)面比較簡(jiǎn)單,流量很大的網(wǎng)站,是直接將CSS寫(xiě)在html代碼中的?他們有什么區(qū)別?css用impor2008-10-17CSS中l(wèi)ink和@import的區(qū)別說(shuō)明
link與@import這兩種方式都是為了加載CSS文件,但還是存在著細(xì)微的差別。下面腳本之家小編給大家介紹CSS中l(wèi)ink和@import的區(qū)別說(shuō)明,感興趣的朋友一起看下吧2016-08-12