您好,登錄后才能下訂單哦!
本篇內容主要講解“影響CSS優先級規則的是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“影響CSS優先級規則的是什么”吧!
當創建的樣式表越來越復雜時,一個標簽的樣式將會受到越來越多的影響,這種影響可能來自周圍的標簽,也可能來自其自身。下面我們從這兩方面去看看CSS樣式的優先級。
CSS的繼承特性指的是應用在一個標簽上的那些CSS屬性被傳到其子標簽上。看下面的HTML結構:
< div>
< p>< /p>
< /div>
如果
有個屬性color:red,則這個屬性將被
繼承,即
也擁有屬性color:red。
由上可見,當網頁比較復雜,HTML結構嵌套較深時,一個標簽的樣式將深受其祖先標簽樣式的影響。
CSS優先規則1:最近的祖先樣式比其他祖先樣式優先級高。
如果我們把一個標簽從祖先那里繼承來的而自身沒有的屬性叫做"祖先樣式",那么"直接樣式"就是一個標簽直接擁有的屬性。又有如下規則:
CSS優先規則2:"直接樣式"比"祖先樣式"優先級高。
選擇器的優先級
上面討論了一個標簽從祖先繼承來的屬性,現在討論標簽自有的屬性。在討論CSS優先級之前,先說說CSS7種基礎的選擇器:
ID選擇器,如#id{}
類選擇器,如.class{}
屬性選擇器,如a[href="segmentfault.com"]{}
偽類選擇器,如:hover{}
偽元素選擇器,如::before{}
標簽選擇器,如span{}
通配選擇器,如*{}
CSS優先規則3:優先級關系:內聯樣式>ID選擇器>類選擇器=屬性選擇器=偽類選擇器>標簽選擇器=偽元素選擇器
最終的color為black,因為內聯樣式比其他選擇器的優先級高。
所有CSS的選擇符由上述7種基礎的選擇器或者組合而成,組合的方式有3種:
后代選擇符:.father.child{}
子選擇符:.father>.child{}
相鄰選擇符:.bro1+.bro2{}
當一個標簽同時被多個選擇符選中,我們便需要確定這些選擇符的優先級。我們有如下規則:
CSS優先規則4:計算選擇符中ID選擇器的個數(a),計算選擇符中類選擇器、屬性選擇器以及偽類選擇器的個數之和(b),計算選擇符中標簽選擇器和偽元素選擇器的個數之和(c)。按a、b、c的順序依次比較大小,大的則優先級高,相等則比較下一個。若最后兩個的選擇符中a、b、c都相等,則按照"就近原則"來判斷。
在學習過程中,你可能發現給選擇器加權值的說法,即ID選擇器權值為100,類選擇器權值為10,標簽選擇器權值為1,當一個選擇器由多個ID選擇器、類選擇器或標簽選擇器組成時,則將所有權值相加,然后再比較權值。這種說法其實是有問題的。比如一個由11個類選擇器組成的選擇器和一個由1個ID選擇器組成的選擇器指向同一個標簽,按理說110>100,應該應用前者的樣式,然而事實是應用后者的樣式。
到此,相信大家對“影響CSS優先級規則的是什么”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。