Ввод псевдо-классов Css: нет (отключено) нет: [type = "submit" ]: focus

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

input:not(disabled)not:[type="submit"]:focus{
box-shadow:0 0 2px 0 #0066FF;
-webkit-box-shadow:0 0 4px 0 #66A3FF;
}

Ответ 1

Вместо:

input:not(disabled)not:[type="submit"]:focus {}

Использование:

input:not([disabled]):not([type="submit"]):focus {}

disabled - это атрибут, поэтому ему нужны скобки, и вы, кажется, смешали/отсутствовали двоеточия и круглые скобки в селекторе :not().

Демо: http://jsfiddle.net/HSKPx/

Одно замечание: я могу ошибаться, но я не думаю, что входы disabled обычно могут получать фокус, поэтому часть может быть избыточной.

Ответ 2

У вас есть несколько опечаток в вашем выборе. Это должно быть: input:not([disabled]):not([type="submit"]):focus

Смотрите jsFiddle для доказательства концепции. В обозревателе, если я удалил свойство "background-color", тень окна больше не работает. Не знаю, почему.

Ответ 3

Ваш синтаксис довольно застенчив.

Измените это:

input:not(disabled)not:[type="submit"]:focus{

в

input:not(:disabled):not([type="submit"]):focus{

Кажется, что многие люди не понимают, что :enabled и :disabled являются допустимыми селекторами CSS...