>  기사  >  웹 프론트엔드  >  범용 선택기(*)를 사용하여 :before 및 :after와 같은 유사 요소의 스타일을 지정할 수 있습니까?

범용 선택기(*)를 사용하여 :before 및 :after와 같은 유사 요소의 스타일을 지정할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-07 06:53:02693검색

Can the Universal Selector (*) Be Used to Style Pseudo-elements Like :before and :after?

범용 선택자와 의사 요소

범용 선택자(*)는 문서의 모든 요소를 ​​대상으로 합니다. 그러나 :before 및 :after와 같은 의사 요소에는 직접 영향을 미치지 않습니다.

의사 요소는 가상 노드를 나타내는 DOM의 추상화입니다. 실제 요소가 아니므로 *와 같은 간단한 선택기로 대상을 지정할 수 없습니다.

의사 요소에 스타일을 적용하려면 해당 요소를 선택기에 명시적으로 포함해야 합니다(예: , ). before, *:after.

이는 선언 * { box-sizing: border-box; }는 :before 및 :after와 같은 의사 요소에 자동으로 영향을 미치지 않습니다.

대신 :before, :after { box-sizing: border-box; } 해당 의사 요소에 상자 크기 조정 속성을 적용합니다.

일부 개발자는 * { box-sizing: border-box; } 의사 요소는 일반적으로 인라인으로 표시되므로 문제가 발생하지 않습니다. 상자 크기 조정은 인라인 요소에 영향을 주지 않으므로 범용 선택기만 사용하면 의사 요소에 눈에 띄는 영향을 주지 않습니다.

:before, :after는 의사 요소에 영향을 미친다는 점에 유의하는 것이 중요합니다. html, head 및 body를 포함한 모든 요소 중 해당 의사 요소는 콘텐츠 속성을 적용할 때까지 생성되지 않습니다. 이 동작과 관련된 성능 문제는 없습니다.

위 내용은 범용 선택기(*)를 사용하여 :before 및 :after와 같은 유사 요소의 스타일을 지정할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.