2013-03-27 50 views
0

考慮這個片斷:我該如何處理不是CSS中給定元素的直接子元素?

<div class="container"> 
    <input type="text"> 
    <div class="myList"> 
    <input type="text"> 
    </div> 
</div> 

我想下面的選擇可以解決整個文本輸入,除了那些myList中的直接子這顯然是我錯了:

.container :not(div.myList) input[type="text"] { 
} 

我怎麼到那個?在CSS中可能嗎?這裏是我創建的http://jsfiddle.net/C46tN/,旨在讓事情變得更快。

謝謝。

+0

這在現實生活中可以接受嗎? http://jsfiddle.net/C46tN/1/ – Passerby 2013-03-27 08:07:52

+0

@Passerby不,不是真的。 – Mehdi 2013-03-27 08:12:01

+0

哪一部分是不可接受的? – Passerby 2013-03-27 08:12:33

回答

0

你有2個問題:

1)你不能做:不(div.myList)。你只能這樣做:not(.myList)。

這是正確的語法:

.container :not(.myList) input[type="text"] { 
    border:2px solid #f00; 
} 

如果這個類僅設置的div這不是一個真正的問題。

2)你真正用這條規則說的是:inouts是不是myList類的元素的後裔,即容器的後裔。這意味着你不會選擇容器的直接後代。

相關問題