@import和link href兩種css調(diào)用方法有什么區(qū)別?_Div+CSS教程
大家去分析一些大站的css代碼時(shí),都會(huì)發(fā)現(xiàn)調(diào)用css有以下兩種方法:
方法一:
<style type="text/css">
<!--
@import url("css/main.css");
@import url("css/font.css");
@import url("css/layout.css");
-->
</style>方法二:
<link href="css/tianyi.css" rel="stylesheet" type="text/css" />
那么這兩各方法有什么區(qū)別和優(yōu)缺點(diǎn)呢?
本質(zhì)上,這兩種方式都是為了加載CSS文件,但還是存在著細(xì)微的差別。
差別1:老祖宗的差別。link屬于XHTML標(biāo)簽,而@import完全是CSS提供的一種方式。
link標(biāo)簽除了可以加載CSS外,還可以做很多其它的事情,比如定義RSS,定義rel連接屬性等,@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可以控制的。
/*
大致就這幾種差別了,其它的都一樣,從上面的分析來(lái)看,還是使用link標(biāo)簽比較好。
標(biāo)準(zhǔn)網(wǎng)頁(yè)制作加載CSS文件時(shí),還應(yīng)該選定要加載的媒體(media),比如screen,print,或者全部all等。
*/
/*
大致就這幾種差別了,其它的都一樣,從上面的分析來(lái)看,還是使用link標(biāo)簽比較好。
標(biāo)準(zhǔn)網(wǎng)頁(yè)制作加載CSS文件時(shí),還應(yīng)該選定要加載的媒體(media),比如screen,print,或者全部all等。
*/
差別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)慎使用。有興趣的可以觀察一下像新浪等網(wǎng)站的首頁(yè)或欄目首頁(yè)代碼,他們總會(huì)把css或js直接寫(xiě)在html里,而不用外部文件。
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)慎使用。有興趣的可以觀察一下像新浪等網(wǎng)站的首頁(yè)或欄目首頁(yè)代碼,他們總會(huì)把css或js直接寫(xiě)在html里,而不用外部文件。
相關(guān)Div+CSS教程:
- DIV+CSS設(shè)計(jì)的誤區(qū)
- CSS基礎(chǔ):常用CSS英文字體介紹
- IE6和IE7中border邊框斷線現(xiàn)象
- border:none;與border:0;的有什么不同?
- div+css下js對(duì)聯(lián)廣告不隨屏幕滾動(dòng)的解決方法
- HTML元素的ID和Name屬性的區(qū)別
- divcss教程:深入了解css的行高Line Height屬性
- CSS文檔流,塊級(jí)元素和內(nèi)聯(lián)元素
- 5個(gè)你該知道的CSS3新技術(shù)
- 用正則表達(dá)式替換a標(biāo)記href值
- 30個(gè)優(yōu)秀的CSS導(dǎo)航和按鈕設(shè)計(jì)教程
- css中px和em有什么區(qū)別
Div+CSS教程Rss訂閱Div+Css教程搜索
Div+CSS教程推薦
- Web標(biāo)準(zhǔn)設(shè)計(jì)技巧之一文本排版淺議
- 結(jié)構(gòu)中id與class的使用原則與技巧
- Web標(biāo)準(zhǔn)化之form語(yǔ)義結(jié)構(gòu)的實(shí)例
- CSS對(duì)文字溢出時(shí)的自動(dòng)隱藏處理
- CSS標(biāo)識(shí)當(dāng)前位置頁(yè)效果的實(shí)現(xiàn)原理
- 該如何正確的使用position屬性它的作用是什么?
- css中px和em有什么區(qū)別
- firefox下父容器高度不能自適應(yīng)的解決方法
- div css網(wǎng)頁(yè)布局如何合理的運(yùn)用html標(biāo)簽?
- 經(jīng)典一例CSS表單form布局!
猜你也喜歡看這些
- 實(shí)現(xiàn)三列布局相同高度的解決辦法
- CSS實(shí)例:非常不錯(cuò)的鼠標(biāo)懸停TIP效果!
- DIV CSS網(wǎng)頁(yè)布局分析的兩個(gè)小例子
- 三列自由式布局770-1024自適應(yīng)寬度!
- HowCSSLayoutWorks-如何進(jìn)行CSS布局
- CSS布局實(shí)例:CSS標(biāo)簽切換代碼實(shí)例教程
- CSS圖片放大展示的一種小思路
- 用css網(wǎng)站布局之十步實(shí)錄!(四)
- CSS布局實(shí)例:margin優(yōu)化的一種思路
- DIVCSS布局教程:應(yīng)用ul、li實(shí)現(xiàn)表格形式
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索@import和link href兩種css調(diào)用方法有什么區(qū)別?
- 教程說(shuō)明:
Div+CSS教程-@import和link href兩種css調(diào)用方法有什么區(qū)別?
。