不區分順序,但為了不遺漏某些屬性,按照順序來寫也不錯。
瀏覽器解析html文檔是自上而下的,如果將CSS放在底部,頁面可以逐步呈現,但在CSS下載并解析完畢后,已經呈現的文字和圖片就要需要根據新的樣式重繪,這是一種不好的用戶體驗。
本教程操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。
css文件應該放在HTML頂部的head中。
why?
link標簽里面的href(HyperText reference)屬性表示超文本引用,當CSS使用href引用,瀏覽器會識別該文檔為CSS,并行下載,不會停止對當前文檔的加載,在加載html生成DOM tree的時候,就可以同時對DOM tree進行渲染,這樣可以防止閃跳,白屏或者布局混亂。
最理想的情況,我們希望瀏覽器逐漸的渲染下載好的CSS,將頁面逐漸的展現給用戶。但是瀏覽器為了避免樣式變化時重新渲染繪制頁面元素,會阻塞內容逐步呈現,瀏覽器等待所有樣式加載完成之后才一次性渲染呈現頁面。
CSS文件如果放置底部,瀏覽器阻止內容逐步呈現,瀏覽器在等待最后一個css文件下載完成的過程中,就出現了“白屏”(新打開連接時為白屏,爾后先出現文字,圖片,樣式最后出現)。這點非常嚴重,因為在網速非常慢的情況下,css下載時間比較長,這樣就給用戶帶來“白屏”的時間自然也就很長了,用戶體驗非常差。
CSS文件放在頂部一方面是因為放置順序決定了下載的優先級,更關鍵的是瀏覽器的渲染機制。
css在加載過程中不會影響到DOM樹的生成,但是會影響到Render樹的生成,進而影響到layout,所以一般來說,style的link標簽需要盡量放在head里面,因為在解析DOM樹的時候是自上而下的,而css樣式又是通過異步加載的,這樣的話,解析DOM樹下的body節點和加載css樣式能盡可能的并行,加快Render樹的生成的速度。
將CSS放在底部,頁面可以逐步呈現,但在CSS下載并解析完畢后,已經呈現的文字和圖片就要需要根據新的樣式重繪,這是一種不好的用戶體驗。
css 樣式表分類
一,樣式表分類
(1)內聯樣式【優先級最高】【常用】【代碼重復使用性最差】
(當特殊的樣式需要應用到個別元素時,就可以使用內聯樣式。 使用內聯樣式的方法是在相關的標簽中使用樣式屬性。樣式屬性可以包含任何 CSS 屬性。)
(2)內嵌樣式表【優先級第二】【最不常用】【代碼重復使用性一般】
(當單個文件需要特別樣式時,就可以使用內嵌樣式表。你可以在 head 部分通過 <style> 標簽定義內部樣式表。)
(3)外部樣式表【優先級最低】【最常用】【代碼重復使用性最好】
(當樣式需要被應用到很多頁面的時候,外部樣式表將是理想的選擇。使用外部樣式表,你就可以通過更改一個文件來改變整個站點的外觀。)
I。先創建一個樣式表
II。寫入樣式表內容,調整樣式表位置
二。選擇器
每一條css樣式定義由兩部分組成,形式如下:
選擇器
{樣式}
在{}之前的部分就是“選擇器”。
“選擇器”指明了{}中的“樣式”的作用對象,也就是“樣式”作用于網頁中的哪些元素。
選擇器是選擇器,外部樣式表只是代碼位置
(1)類別選擇器( class選擇器)【第二優先級】【最常用】
前面以"." 來標志,如:
.d1
{
color:red;
}
在HTML頁中:
【1】<div class="d1";>文字</div> 文字顏色為紅色
【2】<p class="d1";>文字</p > 文字顏色為紅色
定義了一個class類,將樣式應用到了元素中。
(2)id選擇器【第一優先級】【最常用】
前面以"#"來標志,如:
#d2
{
color:blue;
}
在HTML頁中:
<div class="d1" id="d2">文字</div> 文字顏色變為藍色 【id選擇器優先級高于類別選擇器】
(3)標簽選擇器(根據標簽名選擇)【第三優先級】【如果同時出現類別選擇器和id選擇器,按照優先級來及執行】【最不常用】
前面以"標簽名"來標志,如:
div
{
color:red;
}
在HTML頁中:
<div>文字<div> 文字顏色變為紅色
(4)復合選擇器【有id第一優先級/都是類別選擇器第二優先級】【最最常用】
[1]群組選擇器
當幾個元素樣式屬性一樣時,可以共同調用一個聲明,元素之間用逗號分隔。
.d1,#d2
{
color:red;
}
在HTML頁中:
【1】<div class="d1";>文字</div> 文字顏色為紅色
【2】<p id="d2";>文字</p > 文字顏色為紅色
使用群組選擇器,將會大大的簡化CSS代碼,將具有多個相同屬性的元素,合并群組進行選擇,定義同樣的CSS屬性,這大大的提高了編碼效率,同時也減少了CSS文件的體積。
[2]后代選擇器
后代選擇器也稱為包含選擇器,用來選擇特定元素或元素組的后代,將對父元素的選擇放在前面,對子元素的選擇放在后面,中間加一個空格分開。
.d1 #d2
{
color:blue;
}
在HTML頁中:
<div class="d1" id="d2">文字</div> 文字顏色變為藍色
后代選擇器是一種很有用的選擇器,使用后代選擇器可以更加精確的定位元素。
優先級:內聯式 > 嵌入式 > 外部式
對于同一個元素我們同時用了三種方法設置css樣式,那么哪種方法真正有效呢?在下面代碼中就出現了這種情況
1、使用內聯式CSS設置“超酷的互聯網”文字為粉色。
2、然后使用嵌入式CSS來設置文字為紅色。
3、最后又使用外部式設置文字為藍色(style.css文件中設置)。