我想为输入元素应用一些css,我想只对未被禁用且不是提交类型的输入执行此操作,在css下面不起作用,也许如果有人可以解释我必须如何添加它。< / p>
input:not(disabled)not:[type="submit"]:focus{
box-shadow:0 0 2px 0 #0066FF;
-webkit-box-shadow:0 0 4px 0 #66A3FF;
}
答案 0 :(得分:220)
而不是:
input:not(disabled)not:[type="submit"]:focus {}
使用:
input:not([disabled]):not([type="submit"]):focus {}
disabled
是一个属性,因此它需要括号,而您似乎在:not()
选择器上混合了/缺少冒号和圆括号。
有一点需要注意:我可能错了,但我不认为disabled
输入通常可以获得焦点,因此该部分可能是多余的。
或者,使用:enabled
input:enabled:not([type="submit"]):focus { /* styles here */ }
同样,我无法想到禁用输入可以获得焦点的情况,所以似乎没必要。
答案 1 :(得分:14)
你的语法很复杂。
改变这个:
input:not(disabled)not:[type="submit"]:focus{
为:
input:not(:disabled):not([type="submit"]):focus{
似乎很多人都没有意识到:enabled
和:disabled
是有效的CSS选择器......
答案 2 :(得分:7)
您的选择中有一些拼写错误。它应该是:input:not([disabled]):not([type="submit"]):focus
请参阅此jsFiddle以获取概念证明。在旁注中,如果我删除了“background-color”属性,则框阴影不再有效。不知道为什么。