The universal selector (*) targets all elements in a document. However, it does not affect pseudo-elements like :before and :after directly.
Pseudo-elements are abstractions of the DOM that represent virtual nodes. They are not actual elements and therefore cannot be targeted by simple selectors like *.
To apply styles to pseudo-elements, you need to explicitly include them in the selector, e.g., , :before, *:after.
This means that the declaration * { box-sizing: border-box; } does not automatically affect pseudo-elements like :before and :after.
Instead, you need to declare :before, :after { box-sizing: border-box; } to apply the box-sizing property to those pseudo-elements.
Some developers may use just * { box-sizing: border-box; } and never encounter issues because pseudo-elements are typically displayed inline. Box-sizing does not affect inline elements, so using the universal selector alone will not noticeably impact pseudo-elements.
It's important to note that while :before, :after affects pseudo-elements of all elements, including html, head, and body, those pseudo-elements will not be generated until you apply the content property. There are no performance concerns associated with this behavior.
Disclaimer: All resources provided are partly from the Internet. If there is any infringement of your copyright or other rights and interests, please explain the detailed reasons and provide proof of copyright or rights and interests and then send it to the email: [email protected] We will handle it for you as soon as possible.
Copyright© 2022 湘ICP备2022001581号-3