Селектор CSS для <input type = "?"
Есть ли какой-либо способ с CSS ориентировать все входы на основе их типа? У меня есть класс отключений, который я использую для различных отключенных элементов формы, и я устанавливаю цвет фона для текстовых полей, но я не хочу, чтобы мои флажки получали этот цвет.
Я знаю, что могу сделать это с отдельными классами, но я предпочел бы использовать CSS, если это возможно. Я уверен, я могу установить это в javascript, но снова ищу CSS.
Я нацелен на IE7+. Поэтому я не думаю, что могу использовать CSS3.
Edit
С CSS3 я мог бы сделать что-то вроде?
INPUT[type='text']:disabled
, что еще лучше избавится от моего класса...
Edit
Хорошо спасибо за помощь! Итак, вот селектор, который изменяет все текстовые поля и области, которые были отключены, не требуя установки каких-либо классов, когда я начал этот вопрос, я никогда не думал, что это возможно...
INPUT[disabled][type='text'], TEXTAREA[disabled]
{
background-color: Silver;
}
Это работает в IE7
Ответы
Ответ 1
Да. 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 файлы.
Ответ 2
К сожалению, другие плакаты верны, что вы
... на самом деле, как исправлено kRON, вы в порядке с вашим IE7 и строгим документом, но большинство из нас с требованиями IE6 сводятся к JS или ссылкам на классы для этого, но это свойство CSS2, только одно без достаточной поддержки от IE ^ h ^ h браузеров.
Из полноты селектор типа - аналогичен xpath - формы [attribute=value]
, но существует много интересных вариантов. Он будет достаточно мощным, когда он будет доступен, хорошо держать голову в IE8.
Ответ 3
Вы можете сделать это с помощью jQuery. Используя их селекторы, вы можете выбрать атрибуты, такие как тип. Однако это требует, чтобы у ваших пользователей включен Javascript и дополнительный файл для загрузки, но если он работает...
Ответ 4
Извините, короткий ответ - нет. CSS (2.1) будет только отмечать элементы DOM, а не их атрибуты. Вам нужно будет применить определенный класс к каждому входу.
Bummer Я знаю, потому что это было бы невероятно полезно.
Я знаю, вы сказали, что предпочтете CSS по JavaScript, но вы все равно должны использовать jQuery. Он обеспечивает очень чистый и элегантный способ добавления стилей к элементам DOM на основе атрибутов.