> 웹 프론트엔드 > CSS 튜토리얼 > 공급업체별 자리 표시자 선택기를 단일 CSS 규칙에 결합할 수 없는 이유는 무엇입니까?

공급업체별 자리 표시자 선택기를 단일 CSS 규칙에 결합할 수 없는 이유는 무엇입니까?

Linda Hamilton
풀어 주다: 2024-12-27 10:23:11
원래의
559명이 탐색했습니다.

Why Can't We Combine Vendor-Specific Placeholder Selectors in a Single CSS Rule?

공급업체별 선택기 결합의 수수께끼 풀기

CSS 영역 내에서 여러 브라우저에 걸쳐 자리 표시자 텍스트 스타일을 지정하는 난제에 직면합니다. . 최적의 브라우저 간 지원을 달성하기 위해 공급업체별 의사 클래스와 의사 요소의 조합이 사용됩니다. 그러나 당혹스러운 문제가 있습니다. 다른 CSS 시나리오에서 관례적인 것처럼 이를 단일 규칙 세트로 병합하는 것이 왜 불가능합니까?

CSS2.1 사양을 깊이 파고들면 답을 찾을 수 있습니다. 선택자는 첫 번째 왼쪽 중괄호({)까지 이어지는 모든 항목으로 정의되어야 합니다. 사용자 에이전트가 해독할 수 없는 선택기를 발견하면 선택기와 그에 따른 선언 블록을 모두 무시해야 합니다.

이는 특정 접두사가 있는 브라우저가 다른 공급업체별 접두사가 있는 선택기를 이해하지 못할 수 있음을 의미합니다. , 선택기에서 인식할 수 없는 접두사를 언급하는 규칙이 제외됩니다. 결과적으로 이러한 규칙을

input:-moz-placeholder,
input::-moz-placeholder,
input:-ms-input-placeholder,
input::-webkit-input-placeholder {
  font-style: italic;
  text-align: right;
}
로그인 후 복사

과 같이 쉼표로 구분된 단일 규칙 세트로 결합하려는 시도는 소용이 없습니다. 사용자 에이전트는 인식된 선택자에만 스타일을 적용하므로 브라우저 간에 스타일이 일관되지 않게 됩니다.

이 복잡한 규칙은 목적에 부합합니다. 이는 브라우저가 인식된 CSS 구문을 준수하고 완전히 이해하는 규칙만 구현하도록 보장합니다. 이를 시행함으로써 공급업체별 편차로 인한 잠재적인 불일치나 렌더링 오류를 방지할 수 있습니다.

위 내용은 공급업체별 자리 표시자 선택기를 단일 CSS 규칙에 결합할 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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