HTML-CSS: Hover underline animation
HTML-CSS : Exercise-15 with Solution
Using HTML, CSS create an animated underline effect when the user hovers over the text.
- Use display: inline-block to make the underline span just the width of the text content.
- Use the :after pseudo-element with width: 100% and position: absolute to place it below the content.
- Use transform: scaleX(0) to initially hide the pseudo-element.
- Use the :hover pseudo-class selector to apply transform: scaleX(1) and display the pseudo-element on hover.
- Animate transform using transform-origin: left and an appropriate transition.
- Remove the transform-origin property to make the transform originate from the center of the element.
HTML Code:
<!--License: https://bit.ly/3GjrtVF-->
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>Using HTML, CSS create an animated underline effect when the user hovers over the text</title>
</head>
<body>
<strong>Preview:</strong><br>
<p class="hover-underline-animation">Hover w3resource text to see the effect!</p>
</body>
</html>
CSS Code:
<style>
.w3rcontainer{
border: 1px solid #cccfdb;
border-radius: 2px;
}
.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;
}
</style>
HTML-CSS Editor:
See the Pen html-css-practical-exercises by w3resource (@w3resource) on CodePen.
What is the difficulty level of this exercise?
Test your Programming skills with w3resource's quiz.
HTML-CSS: Tips of the Day
What is the difference between id and class in CSS, and when should I use them?
Example:
<div id="header_id" class="header_class"> Text </div>
#header_id {font-color:#fff} .header_class {font-color:#000}
(Note that CSS uses the prefix # for IDs and . for Classes.)
However color was an HTML 4.01 <font> tag attribute deprecated in HTML 5. In CSS there is no "font-color", the style is color so the above should read:
Example:
<div id="header_id" class="header_class"> Text </div>
#header_id {color:#fff} .header_class {color:#000}
The text would be white.
Ref: https://bit.ly/39Stv4P
- New Content published on w3resource:
- HTML-CSS Practical: Exercises, Practice, Solution
- Java Regular Expression: Exercises, Practice, Solution
- Scala Programming Exercises, Practice, Solution
- Python Itertools exercises
- Python Numpy exercises
- Python GeoPy Package exercises
- Python Pandas exercises
- Python nltk exercises
- Python BeautifulSoup exercises
- Form Template
- Composer - PHP Package Manager
- PHPUnit - PHP Testing
- Laravel - PHP Framework
- Angular - JavaScript Framework
- Vue - JavaScript Framework
- Jest - JavaScript Testing Framework