CSS伪类输入:非(禁用)非:[type=“ submit ”]:焦点

我想为输入元素应用一些CSS,我只想为未禁用和未提交类型的输入这样做,下面的CSS不起作用,也许有人可以向我解释这必须如何添加。

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

代替:

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

使用:

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

disabled是一个属性,因此它需要括号,并且您似乎在:not()选择器上混淆/丢失了冒号和括号。

演示:http://jsfiddle.net/hskpx/

有一件事要注意:我可能是错的,但我不认为disabled输入可以正常接收焦点,因此该部分可能是多余的。

或者,使用:enabled

input:enabled:not([type="submit"]):focus { /* styles here */ }

同样,我想不出禁用输入可以接收焦点的情况,因此这似乎是不必要的。

你的选择中有几个错别字。应为:input:not([disabled]):not([type="submit"]):focus

有关概念验证,请参阅此Jsfiddle。在旁注中,如果我删除了“背景色”属性,那么方框阴影将不再起作用。不知道为什么。

你的语法很古怪。

更改此项:

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

向:

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

似乎很多人没有意识到:enabled:disabled是有效的CSS选择器。