2011-11-11 66 views
12

我很好奇,爲什麼使用>或其他組合子不影響CSS選擇器的specificity,即爲什麼div span(一個div內匹配的跨度地方)和div > span(匹配的跨度是一個div的直接子)在特異性方面被認爲是相同的。爲什麼'foo bar'和'foo> bar'在CSS中具有相同的特性?

我知道組​​合器的用法與特異性完全無關,但我想知道是否有某種原因。

+0

我假設它只是因爲它們彼此具體而已......「一個'span''是一個'div''和''span''的後代,它是'div'的子類, 「,而不是更具體的東西,比如」a'span「,其中一些類名稱是」div「的孩子。 –

+0

那麼你可以爭辯說*一些*跨度內的div不是一個特殊的跨度是一個div的*立即*孩子 – ThiefMaster

+0

是的,非常真實。好問題! –

回答

8

這實際上是在工作組郵件列表中提到的,回來的時候,在this thread

它基本上歸結爲,是的,直觀地說,帶combinator的選擇器看起來更加具體,但是考慮到這一點,擴展形式的算法變得比現在使用的「簡單」三元組複雜得多對於人們來說,這很令人困惑。

最後,

 
While this could have been the case, this is one of the few things in CSS2 
that have been interoperably implemented for years, and therefore won't 
change in CSS2.1. 

「如果不破,不解決它。」似乎是最後的呼籲。

相關問題