You're facing difficulties applying ":hover" to ":before" elements. Attempts to use ":before:hover" have proven ineffective.
The correct syntax to apply styles to ":before" elements based on the parent element's ":hover" status is a:hover:before or a:visited:before. The pseudo-element is appended at the end of the selector, after the pseudo-class.
In CSS3, you can clarify this distinction by using double colons (::) to represent pseudo-elements. Therefore, the correct syntax becomes a:hover::before and a:visited::before. However, single colons are still acceptable for legacy browsers like IE8.
This syntax is dictated by the CSS specification, which states that pseudo-elements must be appended to the final sequence of simple selectors.
Note that the above approach may not be suitable for user-action pseudo-classes like ":hover" if you intend to apply the effect solely when the pseudo-element itself is interacted with. This is currently not possible through standard CSS mechanisms. In such cases, you may need to use an actual child element instead of a pseudo-element to apply ":hover."
The above is the detailed content of How to Apply :hover Styles to :before and :after Pseudo-elements?. For more information, please follow other related articles on the PHP Chinese website!