Не селектор CSS

Есть ли какой-то «не» селектор CSS?

Например, когда я пишу следующую строку в своем CSS, все поля ввода внутри тега с classом classname будут иметь красный фон.

.classname input {background: red;} 

Как выбрать все поля ввода, которые являются OUTSIDE тега с classом classname ?

С текущей поддержкой CSS браузера вы не можете.

Новые браузеры теперь поддерживают его – см . Ответ Сэма для получения дополнительной информации.

(См. Другие ответы на альтернативы в CSS.)

Если это делается в JavaScript / jQuery, вы можете сделать:

 $j(':not(.classname)>input').css({background:'red'}); 

Mozilla поддерживает отрицательный псевдоclass :

 :not(.classname) input {background: red;} 

См. Также: http://developer.mozilla.org/en/Mozilla_CSS_support_chart

Обратите внимание, что псевдо-class отрицания находится в Рекомендации по Уровням 3-го уровня и работает в последних версиях Firefox, Chrome и Safari (по крайней мере). Пример кода ниже.

   Negation pseudo class    

Не могли бы вы сделать это, установив «глобальный» фон на красный, а затем используя имя classа, чтобы изменить остальные?

 input { background: red; } .classname input { background: white; } 

Я бы сделал это

 input { /* styles outside of .classname */ } .classname input { /* styles inside of .classname, overriding above */ } 

Невозможно выбрать родительский элемент согласованных элементов с помощью CSS. Для их выбора вам придется использовать JavaScript.

С вашего вопроса я предполагаю, что у вас есть разметка, которая выглядит примерно так:

 

Один из вариантов – добавить class к более высокому элементу, например

, и написать правило для стилизации всех входов формы. IE:

 .formclassname input { /* Some properties here... */ } 

Или

 .formclassname > input { /* Some properties here... */ } 

Если вы хотите выбрать их на основании того факта, что они не находятся внутри элемента с определенным classом, вам не повезло без использования JavaScript.

Я думаю, что самое близкое, что вы можете получить, это повлиять только на прямых потомков с объявлением

Этот код, например, влияет только на поля ввода непосредственно под divs с classом «maincontent»

 div.maincontent > input { // do something } 

Входы немного раздражают, потому что, в отличие от большинства других элементов html, нет необходимости возвращать все свойства css обратно к их значению по умолчанию.

Если стиль не критичен (т. Е. Приятно иметь, но не влияет на функциональность), я бы использовал jQuery для получения массива всех входов, проверки их родителей, а затем выполнял только стиль для тех, кто находится за пределами этого div. Что-то вроде:

 $('input').each(function() { if($(this).closest('.classname') == false) { // apply css styles } }); 

(Кстати, я не эксперт jQuery, поэтому в этом могут быть некоторые ошибки, но в принципе что-то вроде этого должно работать)

  • jQuery: содержит селектор для поиска нескольких строк
  • Соответствие пустого поля ввода с помощью CSS
  • Объединение: not () селекторов в CSS
  • Почему вы не можете группировать потомков в селекторе CSS?
  • Должен ли я использовать одиночные двоеточия (:) или двойные двоеточия (: :) для псевдо-элементов до, после, первой буквы и первой строки?
  • CSS: стилизовал флажок, чтобы он выглядел как кнопка, есть ли зависание?
  • Почему нет возможности комбинировать псевдо-элементы / classы, относящиеся к конкретному поставщику, в один набор правил?
  • Как выбрать все элементы с определенным ID в jQuery?
  • Как написать: условие зависания для: before и a: after?
  • Является ли: до псевдоэлемента допустимым на входе ?
  • CSS '>' селектор; что это?
  • Interesting Posts

    Java: java.util.Preferences Failed

    Отображение текущего выбора в списке

    Программы сброса пароля только находят пароли из одной ОС в системе с двойной загрузкой

    Нажатие гиперссылок в сообщениях электронной почты становится болезненно медленным

    Неизвестные события в nodejs / v8 flashgraph с использованием perf_events

    Регулярное выражение для подсчета числа запятых в строке

    Есть ли способ перевести тысячи небольших файлов быстрее в Windows 7?

    Xcode – профиль iPhone не соответствует какой-либо действительной паре с сертификатом / закрытым ключом в ключевом ключе по умолчанию

    Чтение и поиск файлов в формате PDF

    Соответствующее математическое выражение с регулярным выражением?

    Реализация SMTP-сервера на персональном компьютере (Windows)

    Android: Получить представление Ссылка на пункт меню

    Поддержка «border-radius» в IE

    Почему этот код пытается вызвать конструктор копирования?

    Существуют ли какие-либо macros, чтобы определить, скомпилирован ли мой код для Windows?

    Давайте будем гением компьютера.