1. 程式人生 > >CSS的繼承性和層疊性

CSS的繼承性和層疊性

color ima 瀏覽器 bsp 標簽 層疊 關系 處理 fff

一、繼承性

(1)所謂CSS繼承性是指被包在內部的標簽將擁有外部標簽的樣式性質,同時CSS繼承是一種機制,它允許樣式不僅可以應用於某個特定的元素,還可以應用於它的後代,是依賴於祖先-後代的關系的。用簡單的話來說就是自己設置的屬性,其後代也繼承上了。


(2)那麽有哪些屬性是可以繼承的:

    color、以text-、line-、font- 開頭的屬性,也就是關於文字的屬性是可以繼承的,而關於布局、定位、盒子的屬性都是不能繼承。

body{
  color:red;
  font-size:14px;
}

3)繼承的範圍:

    從自身開始,到最小的元素。也就是從第body開始都最內層的p標簽。

<body>
    <div>
        <p>你好</p>
    </div>
</body>

二、層疊性

(1)什麽是層疊性

  就是瀏覽器處理沖突的一個特性。當有多個選擇器選擇到同一個元素時,但就只有一個選擇器生效,也就是在相同權重的情況下,其他選擇器的樣式會被覆蓋掉。


(2)優先級:

  a. id選擇器 > 類選擇器 > 標簽選擇器

  b. 當同時多個選擇器選擇到同一個元素時,可通過權重比較:也就是分別計算id選擇器、 類選擇器 、標簽選擇器各自的數量。這一方法沒任何的瀏覽器兼容問題。

              技術分享

  c. 當權重都一樣時,以後出現的選擇器為準。

              技術分享

  d. 沒有具體選中到一個元素。通過繼承性影響,該元素的權重就是為0,那麽此時就有一個就近原則:  

              技術分享


(3)權重問題總結:

1) 先看有沒有選中,如果選中了,那麽以(id數,類數,標簽數)來計權重。誰大聽誰的。如果都一樣,聽後寫的為準。

2) 如果沒有選中,那麽權重是0。如果大家都是0,就近原則。

CSS的繼承性和層疊性