Если вы не хотите использовать :not
, вы можете использовать:
#div1 #div2 img { /* things that apply to :not(.c1) */ }
#div1 #div2 img.c1 { /* adjustments for .c1 */ }
Ваш синтаксис для :not
немного отключен. Из тонкой инструкции :
Псевдокласс отрицания, :not(X)
, является функциональной нотацией, принимающей простой селектор (исключая сам псевдокласс отрицания) в качестве аргумента. Он представляет элемент, который не представлен своим аргументом.
Селектор класса - это простой селектор , поэтому он должен работать:
#div1 #div2 img:not(.c1) { ... }