#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 делает это внутренне, вроде