2013-06-04 2 views
5

У меня есть правила CSS для input вКак установить правила CSS для ввода, за исключением одного типа

input { 
background:#FFFFFF 
} 
input:hover { 
background:#BBBBBB 
} 

Я хочу, чтобы применить этот стиль для всех input элементов, за исключением одного (например, type="submit").

Как я могу исключить один тип ввода из стиля CSS?

ответ

21

Вы можете использовать псевдокласс класса и селектор атрибутов :not(), например.

input:not([type=submit]) { 
    background: slategray; 
} 

Имейте в виду, что поддержка IE 8 и ниже отсутствует.

http://jsfiddle.net/qpxYb/1/

+0

А, он был быстрее. ;) – kleinfreund

+0

Я знал о 'not', но как я могу использовать его с': hover'? – Googlebot

+1

Просто прикрепите его в конце, например. 'input: not ([type = submit]): hover {}' – Adrift

2

Вы можете использовать селектор :not().

input:not([type='submit']):hover { 
/* rules here */ 
} 
1

Вы можете просто переписать общий стиль поля ввода с новым стилем для представить поля ввода. Проверьте: http://jsfiddle.net/dpYRX/2/

input { 
background:#FFFFFF 
} 
input:hover { 
background:#BBBBBB 
} 

input[type="submit"] { 
    background: #ff0000; 
} 

input[type="submit"]:hover { 
    background: #cdcdcd; 
} 
Смежные вопросы