> 웹 프론트엔드 > CSS 튜토리얼 > `input:not(:empty)`가 예상대로 작동하지 않는 이유는 무엇입니까?

`input:not(:empty)`가 예상대로 작동하지 않는 이유는 무엇입니까?

DDD
풀어 주다: 2024-11-05 11:02:02
원래의
570명이 탐색했습니다.

Why Does `input:not(:empty)` Not Work as Expected?

:not(:empty) CSS 선택기의 미스터리 공개

비어 있거나 비어 있지 않은 입력의 모양을 제어하려고 할 때 :not(:empty) CSS 선택기를 사용하는 필드에서 많은 개발자가 예상치 못한 동작을 경험하게 됩니다. 이 선택기는 다른 조합과 완벽하게 작동하는 것처럼 보이지만 혼합에 :not(:empty)가 추가되면 예외가 발생합니다.

혼란은 입력 요소의 고유한 특성에서 비롯됩니다. HTML은 요소를 포함하여 void 요소를 "본질상 비어 있는" 요소로 정의합니다. 꼬리표. 결과적으로 모든 void 요소는 값 속성에 관계없이 :empty 의사 클래스에 의해 일관되게 비어 있는 것으로 간주됩니다.

또한 선택기 사양에는 :empty가 다음을 포함하여 하위 노드가 없는 요소를 대상으로 한다고 명시적으로 명시되어 있습니다. 텍스트 내용. 결과적으로 입력 필드는 값이 있음에도 불구하고 항상 하위 노드가 부족하므로 :not(:empty) 선택기와 일치합니다.

요약하자면, 적절한 HTML에서 input:not(:empty)를 사용하는 것입니다. 문서는 항상 어떤 것과도 일치하지 않습니다. 이러한 제한은 HTML의 void 요소 고유 특성과 CSS 선택기의 :empty 의사 클래스 정의로 인해 발생합니다.

위 내용은 `input:not(:empty)`가 예상대로 작동하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿