2016-04-15 70 views
2

我試圖弄清楚爲什麼.x*.x具有更高的特異性,因爲後者有望獲勝。CSS通用選擇器(*)特異性

是不是*.x應該有一個具體的0-0-1-1(1類,1標籤),而.x只是一個類0-0-1-0

考慮以下基本代碼:

*.x { color: blue; } 
 

 
.x { color: red }
<p class="x">Lorem ipsum dolor sit amet, consectetur adipisicing elit. Atque, nam.</p>

它應該是藍色的。爲了演示預期的行爲,我代替*與其他元素(p):

p.x { color: blue; } 
 

 
.x { color: red }
<p class="x">This time it works.</p>

+3

通用選擇器的特異性爲0,0,0,0您看不到*作爲標記。在你的情況下,兩者都是平等的... – Yoeri

回答

5

universal selector*)對特異性沒有影響,因此後者選擇的樣式將是那些被應用。

星號(*)是CSS的通用選擇器。它匹配任何類型的單個 元素。用簡單的選擇器省略星號 的效果相同。例如,* .warning和.warning被認爲是等於 。