首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >旋转字体很棒的图标

问旋转字体很棒的图标
EN

Stack Overflow用户
提问于 2020-08-27 21:51:57
回答 2查看 145关注 0票数 0

所以我们有这个按钮:

代码语言:javascript
复制
<button type="button" class="btn"> 
 <a href="#">This goes somewhere</a>
 <i class="fa fas-arrow-right"></i>
</button>

我想将图标旋转90度,这样在悬停时它将是一个向下箭头,我遇到的问题是:

-When使用css悬停和旋转的问题是,你必须悬停图标,我想箭头旋转90度时,悬停的按钮,我不知道你是否可以使悬停发生在图标上时,悬停的按钮,即使这样,当悬停的图标,它旋转到90度,但然后回到初始位置,我想它留下来,只要你悬停的按钮。

我试过使用javascript,它可以很好地使用mouseover和mouseout来添加和删除一个带变换旋转90度的类,但问题是我不能想出如何让动画发生得更快,用javascript它发生得非常慢,我说的慢是指在悬停时按钮会改变颜色,但箭头只有在2-3秒后才会向下。

所以我的问题是,你能用javascript控制动画的速度吗?当你悬停按钮时,你能用css做到这一点吗?让它停留在90度,并且只在你悬停出来后才回到初始位置?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-08-27 22:24:10

您可以使用

代码语言:javascript
复制
.btn:hover > i {
 display: inline-block;
 transition: 1.5s ease-in-out;
 transform: rotate(180deg);
} 

如果你想让i标签旋转,你需要显示inline-block。我可能还建议使用span标签而不是i标签,因为span的语义意义较少,而i标签则保留为斜体。如果需要,还可以通过编辑过渡代码来编辑速度和更改动画类型。

票数 1
EN

Stack Overflow用户

发布于 2020-08-27 21:56:20

你不需要Javascript来实现这一点。使用:hover选择器,您可以在用户悬停按钮时应用css属性。您可以在transition属性上设置更改ms/s的速度。

代码语言:javascript
复制
.btn:hover i {
   transition: all 300ms;
   transform: rotate(90deg);
}
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63617513

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档