2013-10-08 139 views
0

我有這樣的事情:無效的CSS選擇器:沒有()

ul.select.open li:first-child:not(li ul) a 

而且i'm得到我的控制檯上的警告。爲什麼無效?它適用於我在我的網站上看到的內容,就是這樣,我將樣式應用於第一個子列表錨,但不適用於子子列表上的錨。

我想知道爲什麼是無效的,但無論如何工作。

+0

什麼瀏覽器/版本? –

+1

'li:第一個孩子:不是(li ul)'沒有意義,因爲'ul'永遠不可能是'li'。我懷疑這是瀏覽器的抱怨。 – Musa

+0

穆薩,好吧,我想:不會申請裏面的任何李:第一個孩子。我錯了嗎?無論如何,正如我所說,在現實生活中,它看到它在鉻,火狐,Safari瀏覽器....這不是問題。 – rgdesign

回答

4

它是無效的,因爲在negation pseudo-class:not(X)X必須是一個簡單的選擇,並且ul li不是。符合標準的瀏覽器需要忽略具有無效選擇器的規則,因此如果規則以某種方式起作用,請將其視爲瀏覽器錯誤。

+0

所以that's沒有辦法做我想做什麼,因爲我需要應用的風格只爲母公司名單上錨,而不是在孩子的,我的意思是,如果你有一個LI裏面的列表。任何想法,我也試過使用>,但我無法得到它。 – rgdesign

+0

我已經回答了爲什麼構造無效的問題。該構造實際上並不工作(如果您不這麼認爲,請展示演示),因此無論如何它的工作原理並不真實。如果你想問如何設計特定的東西,那麼這是一個不同的問題。所以我認爲你應該接受這個答案,並提出一個有足夠細節的新問題(口頭描述你想要的樣式,反映*的問題標題*,以及示例顯示設置真實性的HTML標記)。答案很大程度上取決於特定的標記結構。 –

+0

當然,你的回答是對的。謝謝 – rgdesign