Удалить все форматирование из одного тега
Я использую плагин WordPress, который применяет некоторое форматирование CSS ко всем тегам ввода. Я хотел бы, чтобы моя кнопка отправки не имела их и использовала вместо них настройки CSS по умолчанию (применяемые браузером).
Как я могу
- Применить CSS ко всем тегам ввода, кроме кнопки "Отправить" (input type="submit") ИЛИ
- Удалить все пользовательские CSS из кнопки отправки?
Благодарю.
4 ответа
В CSS3 вы можете настроить таргетинг на все элементы, кроме x
с:
*:not(x) {
// some css
}
Я не уверен, что это возможно с CSS2 (без использования javascript, как указывает Джефф в комментариях).
Используя jquery, должно работать что-то вроде следующего:
$('input[type=submit]').removeAttr("class")
Это было быстро сковано, а не проверено.
Это может быть проблематично по кросс-браузерным причинам.
input[type="submit"] { margin:0; padding:0; background:#fff;border:.... }
Будет предназначаться только для представления входных данных, однако это не совместимо с IE6.
input:not([type="submit"]) {...}
Ориентирован на все входные данные, которые не являются текстовыми, но не совместимы с IE6, 7 или 8.
Если вы обеспокоены IE6, вам придется вручную переопределить класс в вашем style.css
Проверьте матрицу совместимости здесь: http://www.quirksmode.org/css/contents.html
Для элемента № 1 вы можете просто определить типы входных данных, которые не отправляются, аля:
input[type=text], input[type=password],input[type=checkbox], input[type=radio],
textarea, select {
background-color:#fff;
border: 1px solid #bbb;
}
Для элемента № 2 вам нужно будет назначить и идентифицировать кнопку отправки, а затем переопределить все наследуемые стили, которые вы хотите удалить.