CSS中l(wèi)ink和import的區(qū)別
本文向大家描述一下CSS中l(wèi)ink和import方式的分析與比較,重點(diǎn)說一下外部引用CSS中l(wèi)ink與@import的區(qū)別,本質(zhì)上,這兩種方式都是為了加載CSS文件,但還是存在著細(xì)微的差別,請(qǐng)看本文詳細(xì)介紹。
CSS中l(wèi)ink和import方式的分析與比較
有很多網(wǎng)頁中的CSS鏈接與引用是這樣寫的:
- <styletypestyletype="text/css"media="screen">
- @importurl("http://www.52css.com/abc.css");
- </style>
而很多網(wǎng)站使用的都是link
ExampleSourceCode
- <linkrellinkrel="stylesheet"rev="stylesheet"
- href="52CSS.com"type="text/css"media="all"/>
而像google百度163等網(wǎng)站他們都是直接寫在網(wǎng)頁中,當(dāng)然使用鏈接link和導(dǎo)入import的好處就是易于維護(hù),但當(dāng)網(wǎng)速比較慢的時(shí)候,會(huì)出現(xiàn)加載中斷的情況,導(dǎo)致頁面排版錯(cuò)誤。他倆的作用相同,唯一的不同是服務(wù)對(duì)象不一樣:
@import為CSS服務(wù)
link是為當(dāng)前的頁服務(wù)
外部引用CSS中l(wèi)ink與@import的區(qū)別
這兩天剛寫完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è)頁面被加載的時(shí)候(就是被瀏覽者瀏覽的時(shí)候),link引用的CSS會(huì)同時(shí)被加載,而@import引用的CSS會(huì)等到頁面全部被下載完再被加載。所以有時(shí)候?yàn)g覽@import加載CSS的頁面時(shí)開始會(huì)沒有樣式(就是閃爍),網(wǎng)速慢的時(shí)候還挺明顯(夢(mèng)之都加載CSS的方式就是使用@import,我一邊下載一邊瀏覽夢(mèng)之都網(wǎng)頁時(shí),就會(huì)出現(xiàn)上述問題)。
差別3:兼容性的差別。由于@import是CSS2.1提出的所以老的瀏覽器不支持,@import只有在IE5以上的才能識(shí)別,而link標(biāo)簽無此問題。
差別4:使用dom控制樣式時(shí)的差別。當(dāng)使用javascript控制dom去改變樣式的時(shí)候,只能使用link標(biāo)簽,因?yàn)锧import不是dom可以控制的。
大致就這幾種差別了(如果還有什么差別,大家告訴我,我再補(bǔ)充上去),其它的都一樣,從上面的分析來看,還是使用link標(biāo)簽比較好。
【編輯推薦】
- CSS在IE和Firefox中常見問題及解決方案
- 三種實(shí)用CSS清除浮動(dòng)方法揭秘
- 專家推薦三大“***”CSS技巧!
- 編寫***CSS代碼的五個(gè)關(guān)鍵
- CSS水平居中和垂直居中多種解決方案