html - 下划线悬停效果占用整个空间,但它应该只占用文本空间
问题描述
我实际上是在尝试在悬停时在文本上添加下划线效果
但是当我将鼠标悬停在 p 元素上时,下划线实际上占据了整个空间,我想要的是下划线应该只显示在文本中,而不是文本占据的完整空间
为此,我实际上添加了一个 span 元素并为 span 提供了悬停效果,但它仍然工作相同,
请检查效果我已经添加了下面的代码,请帮助,提前谢谢:)
.underline-effect span:after{
content: '';
position: absolute;
left: 0;
display: inline-block;
height: 1em;
width: 100%;
border-bottom: 2px solid;
margin-top: 10px;
opacity: 0;
-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
transition: opacity 0.35s, transform 0.35s;
-webkit-transform: scale(0,1);
transform: scale(0,1);
}
.underline-effect span:hover:after{
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
}
<p class="underline-effect">
<span>Home</span>
</p>
解决方案
您需要添加position: relative
到您的span
元素。
.underline-effect span{
position: relative;
}
.underline-effect span:after{
content: '';
position: absolute;
left: 0;
display: inline-block;
height: 1em;
width: 100%;
border-bottom: 2px solid;
margin-top: 10px;
opacity: 0;
-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
transition: opacity 0.35s, transform 0.35s;
-webkit-transform: scale(0,1);
transform: scale(0,1);
}
.underline-effect span:hover:after{
opacity: 1;
-webkit-transform: scale(1);
transform: scale(1);
}
<p class="underline-effect">
<span>Home</span>
</p>
推荐阅读
- python - 如何安全地将 Pandas 列转换为日期时间(如果它们可以是其他 dtype)?
- swift - 获取 Firebase 参考是否会增加数据计费
- c++ - Qt 链接库错误:“找不到 -lmylib”
- php - 仅当数组中有内容时,如何在 PHP 中执行 foreach?
- android - 'android.os.AsyncTask' 在注册 Activity、Android Studio 中已弃用
- protocol-buffers - .proto 文件字段可以没有值吗?
- javascript - 在javascript中打印分层树结构
- mysql - Sequelize - 检查与您的 MySQL 服务器版本相对应的手册以获取正确的语法使用
- java - Jsch 模拟 Java - Mockito/PowerMockito
- c++ - g ++链接器没有找到.so文件,尽管它在那里