BoltClock правильный. Это может иметь больше смысла, если вы сформулируете селектор следующим образом:
Выберите любой элемент span
который произошел от div
элемента
чье значение class
не содержит слова no
.
Каждый из выбранных span
в вашем примере фактически происходит от div
, значение которого class
не содержит слова no
- тот факт, что второй из них также происходит от div
чье class
значение содержит содержит слово no
не отменяет (ха!) Предыдущее утверждение.
Интересно, я бы поспорил, что если вы переместите второй no
вниз на уровень, второй span
все равно будет соответствовать. В CSS нет понятия близости элементов, поэтому любого предка div
должно хватить для соответствия селектору, независимо от того, «ближе» он к span
или нет.