2016-10-31 2 views
0

У меня есть следующий код теста:CSS: не() селектор влияет на другие элементы, что мне не хватает?

<html> 
<head> 
    <style type="text/css"> 
     #test, .random-class { font-weight:bold; } 
     #test, .random-class:not('.another-class') { color:red; } 
    </style> 
</head> 
<body> 
    <div id="test">hello world</div> 
</body> 
</html> 

Это производит следующий вывод:

enter image description here

В моем понимании, привет мир должен быть смелым и красным, но это только смелый. я ожидал, что второе правило повлиять на

  • элемент с идентификатором тест ИЛИ
  • любой элемент с классом .random класса, а не класса .another класса

Что мне здесь не хватает? Почему второе правило не применяется?

+0

Попробуйте с этим '#test, .random-класса: нет (.another-класс) {цвет: красный;}' – ArmKh

ответ

4

Вам не нужны кавычки класса в вашем селекторе :not(), если вы измените его так, он становится:

#test, .random-class:not(.another-class) 
{ 
    color:red; 
} 

Он будет работать, как вы ожидаете его

Посмотрите здесь для demo

Посмотрите here для Документов на селекторе :not()

Упомянутого @KWeiss в комментариях:

В частности котировка делает селектор недействительным поэтому правил не применяется

Надеются, что это помогает!

+1

В частности, кавычки делают селектор недействительным, поэтому правило не применяется. – KWeiss

1

Вам не нужно использовать "в: не

#test, .random-class { font-weight:bold; } 
#test, .random-class:not(.another-class) { color:red; } 
1

Второе правило не применяется, потому что есть ошибка в вашем sytax, которая ломает все правила, а не только селектор, который нарушается.

:not(.abother-class) является Teh правильного синтаксиса (без кавычек

Если вы отделенную своих правил в двух вы бы получить желаемый эффект, так как бы фиксируя, например, ошибки либо из этих двух решений должны работать:.

#test {color: red} 
.random-class:not('.another-class') {color: red} /*This is still broken, but doesn't effect the above rule now*/ 

или

#test, .random-class:not(.another-class) {color: red} /* fixed*/ 

 Смежные вопросы

  • Нет связанных вопросов^_^