正式回歸css之樣式優先順序

2022-03-11 13:12:49 字數 1662 閱讀 4629

總結起來很簡單:對於乙個元素

1.本身沒有樣式修飾,它會怎麼做呢?search! 所以

第乙個原則:就近原則,找到離自己最近的祖先元素繼承樣式

2.本身有樣式

2.1 內嵌樣式(style)>內聯樣式表》外聯樣式表 這點沒什麼好說的 

2.2 當涉及到多個選擇器修飾的時候,有優先順序順序:內嵌樣式》id>class>標籤

舉個栗子吧,就是  先比較id個數,在以此類推,具體看demo

2.3 !important 最無敵 記住這點就可以了!

10/24/

重新看了之前的文章,嗯,我的確是個腦細胞比較簡單 的人哈哈...

不過這也是我的性格所致,把自己所想的清楚表達出來,就很滿足。

今天看了mdn的文件,裡面提及了css優先順序,有點意思的是,我之前面試被提及優先順序一律按照上訴解決,當然我覺得也沒多大礙,如果能說出官方文件的定義,

自然給人感覺牛逼不少,所以還是吸收一下。

一下是原文:

a selector's specificity is calculated as follows:

selectors inside the negation pseudo-class are counted like any other, but the negation itself does not count as a pseudo-class.

concatenating the three numbers a-b-c (in a number system with a large base) gives the specificity.

examples:

*               /* a=0 b=0 c=0 -> specificity =   0 */

li /* a=0 b=0 c=1 -> specificity = 1 */

ul li /* a=0 b=0 c=2 -> specificity = 2 */

ul ol+li /* a=0 b=0 c=3 -> specificity = 3 */

h1 + *[rel=up] /* a=0 b=1 c=1 -> specificity = 11 */

ul ol li.red /* a=0 b=1 c=3 -> specificity = 13 */

li.red.level /* a=0 b=2 c=1 -> specificity = 21 */

#x34y /* a=1 b=0 c=0 -> specificity = 100 */

#s12:not(foo) /* a=1 b=0 c=1 -> specificity = 101 */

挺好理解的就不多說,有幾個概念還沒想清楚,

pseudo-classes

pseudo-elements 

以上這兩個

<

p class

="class1 class2 class3"

>something

p>

css**

.class1

.class2

.class3

結果顯示:字型顏色為藍色,class會向前覆蓋

CSS樣式之優先順序

說到到css的樣式優先順序,今天偶再來回顧下,從css的樣式優先順序可分為兩個部分 1 從css 放置的位置看權重優先順序 內聯樣式 內部嵌入樣式 外聯樣式 2 從樣式選擇器的權重優先順序 important 內聯樣式 id 類 偽類 屬性選擇器 標籤 偽元素 萬用字元 今兒,我們重點來看看第2點 ...

css樣式優先順序

多重樣式將層疊為乙個 樣式表允許以多種方式規定樣式資訊。樣式可以規定在單個的 html 元素中,在 html 頁的頭元素中,或在乙個外部的 css 檔案中。甚至可以在同乙個 html 文件內部引用多個外部樣式表。層疊次序 當同乙個 html 元素被不止乙個樣式定義時,會使用哪個樣式呢?一般而言,所有...

CSS樣式優先順序

css樣式分為內聯樣式和外部樣式,一般情況下 內聯樣式的優先順序大於外部樣式。即style樣式 id選擇器 class選擇器 元素選擇器。例如 on person num li當對li標籤新增上面兩個樣式時,on樣式中重複的內容是不會生效的。因為.on樣式的優先順序值小於li,它會被li樣式覆蓋。但...