Home > Article > Web Front-end > How can I use CSS to dynamically change content on hover, creating an interactive experience for users?
In today's web development, dynamic changes to content elements add a touch of interactivity and appeal. One such common requirement is updating the content of an element upon hovering. While this may seem trivial, CSS offers an elegant solution.
The CSS content property, in conjunction with ::after and ::before pseudo-elements, empowers developers to modify the displayed content. By utilizing these elements, we can create a seamless hover effect that changes the content of a targeted element.
To achieve the desired hover effect, we add the following rule to our CSS:
.item:hover a p.new-label::after { content: 'ADD'; }
This rule instructs the browser to append 'ADD' to the content of the element with the class 'new-label' when it enters a hover state.
Consider the following example:
<code class="html"><div class="item"> <a href=""> <p class="label success new-label"><span>New</span></p> </a> </div></code>
<code class="css">.item { width: 30px; } a { text-decoration: none; } .label { padding: 1px 3px 2px; font-size: 9.75px; font-weight: bold; color: #ffffff; text-transform: uppercase; white-space: nowrap; background-color: #bfbfbf; -webkit-border-radius: 3px; -moz-border-radius: 3px; border-radius: 3px; text-decoration: none; } .label.success { background-color: #46a546; } .item a p.new-label span { position: relative; content: 'NEW'; } .item:hover a p.new-label span { display: none; } .item:hover a p.new-label::after { content: 'ADD'; }</code>
When hovering over the 'NEW' label, the content seamlessly transitions to 'ADD,' creating a dynamic hover state without requiring additional scripting.
The above is the detailed content of How can I use CSS to dynamically change content on hover, creating an interactive experience for users?. For more information, please follow other related articles on the PHP Chinese website!