[css] CSS 의사 클래스 입력 : not (disabled) not : [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;
}



답변

대신에:

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{

에:

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

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


답변

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

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


답변