2016-03-09 2 views
0

Я хочу применить набор правил css ко всем (одним) спискам в моем #content div, но этим НЕ НЕ МОЖЕТ повлиять на (два) списка в дополнительном div.CSS inested: not() selector

<!DOCTYPE> 
<html> 
    <head> 
     <style> 
     #content *:not(div) ul {list-style:none;} 
     </style> 
    </head> 
    <body> 
     <div id="content"> 
      <ul> 
       <li>One</li> 
      </ul> 
      <div> 
       <ul> 
        <li>Two</li> 
       </ul> 
      </div> 
     </div> 
    </body> 
</html> 

ответ

2

Для этого конкретного сценария можно использовать

#content > ul {list-style:none;} 

Это будет предназначаться прямых потомков из #content элемента

+0

спасибо, я полностью забыл об этом. Но любая идея, почему: not() не работает? – Paul

+1

@Paul ': not()' не будет работать, потому что он подразумевает другой элемент между '# content' и' ul', который не является 'div'. Это эквивалентно '#content *: not (div) ul', а' * 'в нем должно соответствовать чему-то действительному –

+1

Я понимаю. Это подразумевает *: not (div), поэтому, если первый div был окружен пролетом, он будет работать. – Paul

1

Вы, вероятно, хотите "child" or "descendent" selector, который соответствует только те элементы, на правой справа от селектора >, являющиеся непосредственными потомками элементов, соответствующих левых. Если я вас правильно понял вы хотите:

#content > ul { list-style: none; } 
+0

спасибо, я совсем забыл вон тот. Но любая идея, почему: not() не работает? – Paul