12
我很好奇,爲什麼使用>
或其他組合子不影響CSS選擇器的specificity,即爲什麼div span
(一個div內匹配的跨度地方)和div > span
(匹配的跨度是一個div的直接子)在特異性方面被認爲是相同的。爲什麼'foo bar'和'foo> bar'在CSS中具有相同的特性?
我知道組合器的用法與特異性完全無關,但我想知道是否有某種原因。
我很好奇,爲什麼使用>
或其他組合子不影響CSS選擇器的specificity,即爲什麼div span
(一個div內匹配的跨度地方)和div > span
(匹配的跨度是一個div的直接子)在特異性方面被認爲是相同的。爲什麼'foo bar'和'foo> bar'在CSS中具有相同的特性?
我知道組合器的用法與特異性完全無關,但我想知道是否有某種原因。
這實際上是在工作組郵件列表中提到的,回來的時候,在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.
「如果不破,不解決它。」似乎是最後的呼籲。
我假設它只是因爲它們彼此具體而已......「一個'span''是一個'div''和''span''的後代,它是'div'的子類, 「,而不是更具體的東西,比如」a'span「,其中一些類名稱是」div「的孩子。 –
那麼你可以爭辯說*一些*跨度內的div不是一個特殊的跨度是一個div的*立即*孩子 – ThiefMaster
是的,非常真實。好問題! –