html - 如何使用 CSS 在锚标签上添加动画
问题描述
<div class="btnContainer">
<a class="homeBtn">
Go Home
</a>
<mat-icon aria-hidden="false" class="rightArrow">arrow_right_alt</mat-icon>
</div>
我有这个按钮代码。基本上在悬停btnContainer时,我希望图标显示为带有向右箭头的小动画。
这是我的样式表:
.btnContainer{
background: #fb8ab0;
border: none;
padding: 1rem 2rem;
text-decoration: none;
color: white;
font-weight: 500;
letter-spacing: 1px;
word-spacing: 2px;
display: flex;
align-items: center;
gap: 1rem;
transition: ease-out .5s;
justify-content: center;
}
.homeBtn{
color: white;
text-decoration: none;
}
.rightArrow{
display: none;
margin-left: -1rem;
transition: ease-out .5s;
}
.btnContainer:hover .rightArrow{
display: block;
transition: ease-out .5s;
margin-left: 0;
}
解决方案
display
从 CSS 中删除。请改用不透明度。并添加transition: all ease-out 0.5s;
.btnContainer {
background: #fb8ab0;
border: none;
padding: 1rem 2rem;
text-decoration: none;
color: white;
font-weight: 500;
letter-spacing: 1px;
word-spacing: 2px;
display: flex;
align-items: center;
gap: 1rem;
transition: ease-out .5s;
justify-content: center;
}
.homeBtn {
color: white;
text-decoration: none;
}
.rightArrow {
opacity: 0;
margin-left: -1rem;
transition: all ease-out .5s;
}
.btnContainer:hover .rightArrow {
opacity: 1;
transition: all ease-out .5s;
margin-left: 0;
}
<div class="btnContainer">
<a class="homeBtn">
Go Home
</a>
<mat-icon aria-hidden="false" class="rightArrow">arrow_right_alt</mat-icon>
</div>
推荐阅读
- kotlin - Kotlin 数据类中的更新数据
- php - 黑客攻击?或者它可能是什么?
- java - Selenide waitUntil(condition, timeout).isDisplayed() 抛出错误而不是返回布尔值
- reactjs - 解析错误:意外的标记,预期的“,”/ typescript 'as' 关键字无法识别
- apache - 如何将重写规则从 Apache 传输到 Nginx?
- reactjs - 从db中获取html保存为字符串并将其用作react js中的react html
- postgresql - AWS EMR Airflow:Postgresql 连接器
- validation - SwiftUI - 带有按钮和条件语句的文本字段验证
- flutter - 如何在 Flutter 中准确使用 Health 包
- python - 内存使用硒