Это проще объяснить, используя следующий пример:
Я хочу применить набор стилей (например, для элемента .footer
), если элемент находится внутри класса с именем .ct_ver1
, но я также хочу исключить (не применять) стили, если элемент внутри класса .ct_ver2
.
В результате должно быть:
- нет классов - не применяются стили
- элемент класса ct_ver1
- применить стили к элементу
- элемент class ct_ver1
* ct_ver2
- стили не применяются
В моем текущем подходе это не работает, потому что у меня есть другой div (ct_ver1_container
) в дереве, поэтому ct_ver2
игнорируется,
потому что селектор находит .footer
, используя этот путь:
ct_ver
-> ct_ver1_container
-> footer
но я хочу игнорировать (не применять стили), если на пути на любом уровне есть div с классом ct_ver2
.
Как мне написать правильный код?
Мой текущий код выглядит так:
.ct_ver1 {
div:not(.ct_ver2) {
.footer {
float: left;
position: relative;
width: 100%;
overflow: hidden;
}
}
}