Create an animated underline effect when the text hovers over it.
HTML CODE:
<p class="hover-underline-animation">
Hover this text to see the effect!
</p>
CSS CODE:
.hover-underline-animation{
display:inline-block;
position:relative;
color:#0087ca;
}
.hover-underline-animation::after{
content:'';
position:absolute;
width:100%;
transform:scaleX(0);
height:2px;
bottom:0;
left:0;
background-color:#0087ca;
transform-origin:bottom right;
transition:transform 0.25s ease-out;
}
.hover-underline-animation:hover::after{
transform:scaleX(1);
transform-origin:bottom left;
}
Description
- display: inline-block Make block p pone inline-block to prevent the underscore from spanning the entire parent width and not just the content (text).
- position: relative A co-ordinate positioning context is established on the element for the pseudo element.
- ::after Define pseudo elements.
- position: absolute Takes a pseudo-element from the document stream and positions it relative to the parent element.
- width: 100% Make sure the pseudo-element spans the entire width of the text block.
- transform: scaleX(0) The pseudo-element is initially scaled to 0 so that it has no width and is not visible.
- bottom: 0 And left: 0 place it at the bottom left of the block.
- transition: transform 0.25s ease-out This means that the transform change will ease-out transition through the time function in 0.25 seconds.
- transform-origin: bottom right Indicates that the transform anchor point is at the bottom right of the block.
- :hover::after Then use to scaleX(1) convert the width to 100% and then transform-origin change it bottom left to position the point inversion to allow it to transition to the other direction when hovering.
Post your comments / questions
Recent Article
- Requested setting INSTALLED_APPS, but settings are not configured. You must either define..
- ValueError:All arrays must be of the same length - Python
- Check hostname requires server hostname - SOLVED
- How to restrict access to the page Access only for logged user in Django
- Migration admin.0001_initial is applied before its dependency admin.0001_initial on database default
- Add or change a related_name argument to the definition for 'auth.User.groups' or 'DriverUser.groups'. -Django ERROR
- Addition of two numbers in django python
- The request was aborted: Could not create SSL/TLS secure channel -Error in Asp.net
Related Article