Селектор CSS для

есть ли способ с CSS нацелить все входы на основе их типа? У меня есть отключенный класс, который я использую для различных отключенных элементов формы, и я устанавливаю цвет фона для текстовых полей, но я не хочу, чтобы мои флажки получали этот цвет.

Я знаю, что могу сделать это с отдельными классами, но я бы предпочел использовать CSS, если это возможно. Я уверен, что могу установить это в javascript, но снова ищу CSS.

я нацелен на IE7+. Так что я не думаю, что смогу использовать С помощью CSS3.

редактировать

С CSS3 я мог бы сделать что-то вроде?

INPUT[type='text']:disabled Это было бы еще лучше избавиться от моего класса вообще...

редактировать

Ok спасибо за помощь! Так вот селектор, который изменяет все текстовые поля и области, которые были отключены, не требуя установки каких-либо классах, когда я начал этот вопрос я никогда не думал, что это возможно...

INPUT[disabled][type='text'], TEXTAREA[disabled]
{   
    background-color: Silver;
}

этот работает в IE7

4 ответов


да. IE7 + поддерживает селекторы атрибутов:

input[type=radio]
input[type^=ra]
input[type*=d]
input[type$=io]

элемент ввода с типом атрибута, который содержит значение, равное, начинается с, содержит или заканчивается определенным значением.

другие безопасные (IE7+) селекторы:

  • родитель > ребенок: p > span { font-weight: bold; }
  • предшествует ~ элемент, который является:span ~ span { color: blue; }

, который для <p><span/><span/></p> эффективно даст вам:

<p>
    <span style="font-weight: bold;">
    <span style="font-weight: bold; color: blue;">
</p>

далее чтение: совместимость браузера CSS на quirksmode.com

Я удивлен, что все остальные думают, что это невозможно. Селекторы атрибутов CSS были здесь уже некоторое время. Думаю, пришло время прибраться.файл CSS.


к сожалению, другие плакаты правильны, что вы ...собственно как исправить крон вы в порядке с вашим IE7 и строгим doc, но большинство из нас С IE6 требования сводятся к ссылкам JS или class для этого, но это is свойство CSS2, только одно без достаточной поддержки браузеров IE^h^h.

из-за полноты селектор типов-похож на xpath-формы [attribute=value] но много интересного существуют варианты. Это будет быть довольно мощным, когда он доступен, хорошо держать в голове для IE8.


вы можете сделать это с jQuery. Используя их селекторы, можно выбирать по атрибутам, таким как тип. Это, однако, требует, чтобы ваши пользователи включили Javascript и дополнительный файл для загрузки, но если он работает...


извините, короткий ответ-нет. CSS (2.1) будет отмечать только элементы DOM, а не их атрибуты. Вы должны применить определенный класс к каждому входному сигналу.

облом, я знаю, потому что это было бы невероятно полезно.

Я знаю, что вы сказали, что предпочли бы CSS JavaScript, но вы все равно должны рассмотреть возможность использования jQuery. Он обеспечивает очень чистый и элегантный способ добавления стилей в элементы DOM на основе атрибутов.