【发布时间】:2019-06-28 03:47:01
【问题描述】:
我正在制作一个按钮的动画,并在 Firefox 和 Chrome 中测试了动画。在 Chrome 中一切正常,但在 Firefox 中,文本在抖动。有什么我可以使用的 -moz 或其他东西来修复它吗?
当垃圾邮件点击它时应该很明显,尽管在 sn-p 中即使在 Firefox 上也不会这样做.....
编辑:经过一些试验和错误后,我发现问题出在我转换时的文本框中:translate(-50%, -50%)。你知道任何替代方案吗?我尝试了前 35% 的相对定位,但盒子的内容在之前被剪掉了
This is what I see。文字运动会随着缩放而变化,但我可以向您保证,它会在悬停后改变位置,即使视频中并不清楚。
.text-box {
position: absolute;
top: 40%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
}
.btn:link,
.btn:visited {
text-transform: uppercase;
text-decoration: none;
padding: 15px 40px;
display: inline-block;
border-radius: 100px;
transition: all 0.2s;
}
.btn:hover {
transform: translateY(-3px);
box-shadow: 0 10px 20px rgba(0, 0, 0, 0.20);
}
.btn:active {
transform: translateY(-1px);
box-shadow: 0 5px 10px rgba(0, 0, 0, 0.20);
}
.btn-white {
background-color: #fff;
color: #777;
}
<div class="text-box">
<a href="#" class="btn btn-white">Click me</a>
</div>
【问题讨论】:
-
你是对的,sn-p 没有显示任何明显的抖动(我使用的是 Firefox)。如果你使用 Codepen,你能在那里重现问题吗?
-
在firefox中将
animation-duration加1s并查看,在transform动画中可以看到摇晃... -
这不是交互问题吗?当您将其悬停时移动它时,您可能会将按钮从光标下方移出,这会使您处于开关循环中,因为它会反复切换
:hover。一个不错的解决方案是不移动的包装元素,当悬停时,将样式应用于子按钮。 -
@MarsAndBack 对不起,我没有使用它
-
@DBS 它不是:在我悬停按钮后,文本会发生很多变化
标签: html css firefox css-animations