Как отменить выделение с помощью CSS?

#css #css-selectors

#css #css-селекторы

Вопрос:

я хотел бы отменить выбор элемента и #id из выборки без изменения HTML или добавления какого-либо classname,

допустим, я хочу эмулировать это предложение Jquery в CSS

  $('img').not('#thisone').CSS();
  

возможно ли это?

Ответ №1:

Используйте :not() селектор CSS3 (который имеет эквивалентный селектор jQuery):

 img:not(#thisone) {
}
  

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

 img {
    /* All images */
}

#thisone {
    /* Revert styles for this particular image */
}
  

Комментарии:

1. Обратите внимание, что это не поддерживается в IE < 9: quirksmode.org/css/contents.html

2. Обязательный комментарий «Я как раз собирался разместить здесь комментарий «у обязательного :not() плохая поддержка», но кто-то меня опередил» комментарий идет здесь.

3. #dmenu li img: not (#logo_web){ max-height: 20px;} netbeans выдает ошибку, подобную этой, для вас это выглядит нормально??? Спасибо!!!

4. @Toni: Я думаю, NetBeans (какую бы версию вы ни использовали) не поддерживает новые функции CSS3. Хотя это просто предположение, поскольку я не использую NetBeans для веб-разработки.

5. @Toni: Я предложил альтернативу, которая работает с IE, на случай, если вам это понадобится.

Ответ №2:

Это может помочь http://www.w3.org/TR/css3-selectors/#negation

(Jquery в любом случае делает это внутренне, я думаю, хотя не проверял).

Комментарии:

1. Если селектор совместим с querySelectorAll реализацией браузера, я думаю, да, jQuery делает это внутренне, вроде