引入CSS的方法有兩種,一種是@import,一種是link
成都創(chuàng)新互聯公司是一家專注于網站建設、成都網站設計與策劃設計,路北網站建設哪家好?成都創(chuàng)新互聯公司做網站,專注于網站建設10多年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:路北等地區(qū)。路北做網站價格咨詢:18980820575
@import url('地址');
link href="地址" rel="stylesheet" type="text/css" /
現在絕大部分的網站都采用后一種link方式,原因在于
@import先加載HTML,后加載CSS
link先加載CSS,后加載HTML。
所以前者加載網頁會出現令瀏覽者以外的格式,后者則是帶格式的加載網頁。
這里是指相對路徑,舉個例子比較好理解:
假如有兩個樣式文件,main.css和index.css(它們在同一文件夾中),我們要在main.css里引用index.css,那么這里的寫法就是:
@import url(index.css);
實際上,@import并不是一定要在最前面
W3C的CSS2.1標準中,對@import作了以下規(guī)定:
In CSS 2.1, any @import rules must precede all other rules (except the @charset rule,if present).
在CSS2.1中,任何@import命令必須放在所有其它語句之前(除了用到@charset時)。
而在CSS3標準中,則是這樣規(guī)定:
Any ‘@import’ rules must follow all ‘@charset’ rules and precede all other at-rules and rule sets in a style sheet.
在樣式表中,任何@import命令必須緊跟在@charset命令之后(如果有的話),放在其它@命令和樣式語句之前。
還有,@import命令放在注釋之后同樣生效。你不需要知道為什么,只要記住如果不這樣做@import就會失效就行了。假如你一定要追究為什么要做這樣的硬性規(guī)定,我認為主要出于這樣的考慮:
p id="intro" class="frame head"I'm just a p element used test specificity of selectors. So leave me alone!/p
p#intro { font: italic 1em Candara, Arial, sans-serif; }
p.frame { font: bold 3em Arial, Helvetica, sans-serif; }
p { font: italic 2em Georgia, serif; }
你認為頁面最終會使用哪條規(guī)則的font樣式?是第一條p#intro。這里涉及到一個優(yōu)先級(specificity)的問題:#id .class element(標簽名)。所以即便p{font}樣式出現在p#intro{font}和p.frame{}之后,最終被應用的還是p#intro{font}。而容易導致問題的是下一種情況:
p.head { font: italic 1em Candara, Arial, sans-serif; }
p.frame { font: bold 3em Arial, Helvetica, sans-serif; }
這次你認為會使用哪條font樣式?是第二條p.frame。這里涉及到cascading的問題。p.head的優(yōu)先級和p.frame的優(yōu)先級相同,但p.frame寫在p.head之后,按規(guī)則p.frame的font樣式會覆蓋p.head的font樣式。
在這種情況下,再允許把@import放在一堆樣式當中,到底@import引入的樣式表中有沒有會覆蓋當前樣式表的條目,諸如此類的判斷會更加困難。實際上,即便CSS標準里沒有作這樣的規(guī)定,程序員也還是會這樣做,因為這樣可以減少很多不必要的麻煩。
引入CSS的方法有兩種,一種是@import,一種是link \x0d\x0a@import url('地址');\x0d\x0a\x0d\x0a現在絕大部分的網站都采用后一種link方式,原因在于\x0d\x0a@import先加載HTML,后加載CSS\x0d\x0alink先加載CSS,后加載HTML。\x0d\x0a\x0d\x0a所以前者加載網頁會出現令瀏覽者以外的格式,后者則是帶格式的加載網頁。