1. 程式人生 > >CSS 後代選擇器和權值計算

CSS 後代選擇器和權值計算

子選擇器(第一代)

符號:>
作用:選中兒子元素
示例:

<style type="text/css">  
.music>li{border:1px solid red;}  <!-border邊框樣式-->

<!--操作區-->
<body>
<h1>Music Singer</h1>

<ul class="music">
    <li>Chinese
        <ul>
            <li>Leijun</li
> <li>JayChou</li> <li>SilerChao</li> </ul> </li> <li>English <ul> <li>Taylor Swift</li> <li>Whitness Huston</li> <li>Micheal Jackson</li> </ul
> </li> </ul> </body>

image

包含選擇器(所有後代)

符號:空格
作用:選中所有兒子孫子元素
示例:

<head>
<style type="text/css">
.music li  <!--此處修改為空格後-->
{
    border:1px solid red;
}

image

特殊性

選擇器樣式的搭配:就近原則 即:內聯>嵌入>外部
有的時候我們為同一個元素設定了不同的CSS樣式程式碼,那麼元素會啟用哪一個CSS樣式呢?我們來看一下面的程式碼:

p{color
:red
;}
.first{color:green;} <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

p和.first都匹配到了p這個標籤上,那麼會顯示哪種顏色呢?green是正確的顏色,那麼為什麼呢?是因為瀏覽器是根據權值來判斷使用哪種css樣式的,權值高的就使用哪種css樣式。

下面是權值的規則:

標籤的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100,內聯樣式選擇符的權值最高為1000。例如下面的程式碼:
p{color:red;} /權值為1/
p span{color:green;} /權值為1+1=2/
.warning{color:white;} /權值為10/
p span.warning{color:purple;} /權值為1+1+10=12/

footer .note p{color:yellow;} /權值為100+10+1=111/

注意:還有一個權值比較特殊–繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解為繼承的權值最低。
最高權值:寫在樣式的分號前:p{color:red!important;} — 此權值高於使用者自己設定的樣式。