課程
/前端開發
/HTML/CSS
/初識HTML(5)+CSS(3)-升級版
外部式css樣式中鏈接(link)和(import)有什么區別?具體怎么用啊?求解答
2016-10-25
源自:初識HTML(5)+CSS(3)-升級版 9-4
正在回答
本質上,這兩種方式都是為了加載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可以控制的。 @import可以在css中再次引入其他樣式表,比如可以創建一個主樣式表,在主樣式表中再引入其他的樣式表,如: ? main.css ? ———————- ? @import “sub1.css”; ? @import “sub2.css”; ? ? ?sub1.css ? ———————- ? p {color:red;} ? ? ?sub2.css ? ———————- ? .myclass {color:blue} 這樣更利于修改和擴展。 大致就這幾種差別了,其它的都一樣,從上面的分析來看,還是使用link標簽比較好。標準網頁制作加載CSS文件時,還應該選定要加載的媒體(media),比如screen,print,或者全部all等。 提示:這樣做有一個缺點,會對網站服務器產生過多的HTTP請求,以前是一個文件,而現在卻是兩個或更多文件了,服務器的壓力增大,瀏覽量大的網站還是謹慎使用。有興趣的可以觀察一下像新浪等網站的首頁或欄目首頁代碼,他們總會把css或js直接寫在html里,而不用外部文件。
weibo_澳洲姑娘的王子_04027525 提問者
Link屬于html標簽,而@import是CSS中提供的
在頁面加載的時候,link會同時被加載,[email?protected]??的CSS
@import只有在ie5以上才可以被識別,而link是html標簽,不存在瀏覽器兼容性問題
Link引入樣式的權重大于@import的引用(@import是將引用的樣式導入到當前的頁面中)
舉報
HTML(5)+CSS(3)基礎教程8小時帶領大家步步深入學習標簽用法和意義
3 回答CSS樣式
7 回答CSS樣式
2 回答css樣式
7 回答css樣式
5 回答css樣式
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-10-25
本質上,這兩種方式都是為了加載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可以控制的。 @import可以在css中再次引入其他樣式表,比如可以創建一個主樣式表,在主樣式表中再引入其他的樣式表,如: ? main.css ? ———————- ? @import “sub1.css”; ? @import “sub2.css”; ? ? ?sub1.css ? ———————- ? p {color:red;} ? ? ?sub2.css ? ———————- ? .myclass {color:blue} 這樣更利于修改和擴展。 大致就這幾種差別了,其它的都一樣,從上面的分析來看,還是使用link標簽比較好。標準網頁制作加載CSS文件時,還應該選定要加載的媒體(media),比如screen,print,或者全部all等。 提示:這樣做有一個缺點,會對網站服務器產生過多的HTTP請求,以前是一個文件,而現在卻是兩個或更多文件了,服務器的壓力增大,瀏覽量大的網站還是謹慎使用。有興趣的可以觀察一下像新浪等網站的首頁或欄目首頁代碼,他們總會把css或js直接寫在html里,而不用外部文件。
2016-10-25
Link屬于html標簽,而@import是CSS中提供的
在頁面加載的時候,link會同時被加載,[email?protected]??的CSS
@import只有在ie5以上才可以被識別,而link是html標簽,不存在瀏覽器兼容性問題
Link引入樣式的權重大于@import的引用(@import是將引用的樣式導入到當前的頁面中)