📅  最后修改于: 2023-12-03 15:35:53.586000             🧑  作者: Mango
当我们需要在网站中添加交互时,动画是最常用的一种方式之一。而下划线 CSS 动画悬停则是其中的一种经典案例。通过在文本下面添加一条下划线,并在鼠标经过时添加 CSS 动画效果,可以使网站更加生动有趣,下面就让我们一起来学习如何实现下划线 CSS 动画悬停。
在实现下划线 CSS 动画悬停之前,我们需要先在 HTML 中添加文本和下划线。下面是一段示例代码:
<span class="underline">文本</span>
我们可以在 CSS 中为这个文本添加一条下划线,示例如下:
.underline {
position: relative;
}
.underline::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 2px;
background-color: #000;
}
这里要注意设置 position: relative;
,使得 ::after
伪元素可以基于 .underline
元素定位。同时,以 bottom: 0;
为基础设置下划线的位置,使其与文本底部对齐。
在添加了下划线之后,我们就可以为下划线添加动画效果了。我们可以通过设置 transform
属性来实现下划线的缩放动画效果。
.underline:hover::after {
transform: scaleX(1.5);
}
这里,当鼠标悬停在 .underline
上方时,我们通过设置 transform: scaleX(1.5);
即可实现下划线缩放的效果。同时,为了使动画效果更加自然流畅,我们还可以为 .underline::after
添加 transition
属性,这样在缩放时就会有一个平滑的过渡效果。
.underline::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 2px;
background-color: #000;
transition: transform 0.3s ease;
}
至此,我们就完成了下划线 CSS 动画悬停的实现,并且可以通过调整 scaleX()
的值以及 transition
属性以改变动画效果的速度和效果。
以下是完整的示例代码,可以直接复制到 HTML 和 CSS 文件中进行测试:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>下划线 CSS 动画悬停示例</title>
<style>
.underline {
position: relative;
cursor: pointer;
}
.underline::after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 2px;
background-color: #000;
transition: transform 0.3s ease;
transform-origin: center left;
transform: scaleX(0.3);
}
.underline:hover::after {
transform: scaleX(1);
}
</style>
</head>
<body>
<span class="underline">文本</span>
</body>
</html>
注意,在本例中还添加了 cursor: pointer;
属性,以告诉用户该文本是可点击的。同时,为了让动画效果更加平滑,我们可以设置 transform-origin: center left;
,使缩放的中心点在下划线左侧。