유효하지 않은 부분을 제거하는 대신 유효하지 않은 선택기가 포함된 CSS 규칙을 삭제하는 이유는 무엇입니까?

Barbara Streisand
풀어 주다: 2024-11-10 18:59:03
원래의
339명이 탐색했습니다.

Why are CSS rules with invalid selectors discarded instead of just removing the invalid part?

잘못된 CSS 선택기로 인해 규칙이 삭제되는 이유

문제:
CSS 선택기 레벨 3 사양에서는 잘못된 선택기가 포함된 규칙을 폐기되었습니다. 인식할 수 없는 선택기를 단순히 제거하고 규칙 세트를 유지하는 대신 이것이 필요한 이유는 무엇입니까?

이유:

CSS2.1 사양에 따르면:

선택기의 나머지 부분이 CSS 2.1에서는 타당해 보일지라도 선택기의 어느 곳에든 오류가 있으면 전체 명령문을 무시해야 합니다. 왜냐하면 향후 업데이트에서 쉼표가 다른 의미를 갖게 될지는 알 수 없기 때문입니다. CSS.

CSS 선택기 레벨 4 사양에는 :not()과 같이 선택기 그룹을 인수로 받아들이는 기능적 의사 클래스가 도입되었습니다. 이로 인해 구문 분석이 모호해질 수 있으며 구현 시 잠재적인 레이아웃 중단 없이 유효하지 않은 선택기를 정확하게 처리하기가 어려워집니다.

추가로:

  • 구문 분석 오류는 다양한 지점에서 발생할 수 있습니다. 유효하지 않은 선택기, 선택기 목록 또는 선언 블록을 어디에서 끝낼지 불확실합니다.
  • 사양에서는 인식할 수 없는 선택기와 잘못된 형식의 선택기를 구별하지 않아 오류 처리를 단순화합니다.
  • 다음과 같은 일부 레이아웃 엔진은 다르게 동작합니다. WebKit은 접두사가 있는 인식할 수 없는 선택기를 무시하고 자체적으로 적용합니다.
  • 이 동작을 변경하면 선택기 해킹 및 필터링에 의존하는 기존 사이트가 중단될 수 있습니다.

따라서 유효하지 않은 선택기가 있는 규칙을 무시하세요. 오류 처리의 일관성을 유지하고 향후 호환성을 보장하며 잠재적인 레이아웃 문제를 방지합니다.

위 내용은 유효하지 않은 부분을 제거하는 대신 유효하지 않은 선택기가 포함된 CSS 규칙을 삭제하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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