CSS 의사 클래스 입력 : not (disabled) not : [type =“submit”] : focus


138

입력 요소에 일부 CSS를 적용하고 싶습니다. 비활성화되지 않고 제출 유형이 아닌 입력에 대해서만 수행하고 싶습니다 .CSS 아래에서 작동하지 않습니다. 어쩌면 누군가 어떻게 추가 해야하는지 설명 할 수 있습니다.

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

답변:


284

대신에:

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 */ }

다시 한 번, 비활성화 된 입력이 포커스를받을 수있는 경우를 생각할 수 없으므로 불필요한 것 같습니다.


41
: 사용 가능 :하지 ([장애인])는 매우 글을 쓰는 방법 장황 developer.mozilla.org/en-US/docs/Web/CSS/:enabled
아드리아

@Adria가 <a>와 함께 작동하지 않았습니다. <a disabled='disabled'>가 있고 구체적으로 : disabled 선택기를 사용해야했습니다. FF65.
Robert Niestroj

어떤 이유로 ": enabled"가 11에서 작동하지 않습니다.
SLCH000

:not([disabled])VS 를 사용하는 것과 다른 점이 있습니까? :not(:disabled)?
bubencode

15

당신의 문법은 매우 까다 롭습니다.

이것을 변경하십시오 :

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

에:

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

많은 사람들이 깨닫지 못하는 것 같다 :enabled:disabled유효한 CSS 선택기입니다 ...


5
왜 그것을 더 짧게하지 input:enabled:not([type="submit"]):focus{않습니까?
Sean the Bean

7

선택하신 내용에 오타가 있습니다. 그것은해야한다:input:not([disabled]):not([type="submit"]):focus

개념 증명에 대해서는이 jsFiddle 을 참조하십시오 . 참고로 "배경색"속성을 제거하면 상자 그림자가 더 이상 작동하지 않습니다. 이유가 확실하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.