#独家
为什么edge和chrome中@keyframes设置修改背景色的动画对于button在不设置背景色情况下无效?

2023-04-10 0 937
    <button>按钮</button>
    <div>element</div>
    @keyframes changeColor {
        0% {
            background-color: blue;
        }    
        100% {
            background-color: purple;
        }
    }

    button {
        animation: changeColor 5s infinite;
    }
    div {
        animation: changeColor 5s infinite;
    }

在chrome和edge中按钮的修改颜色动画并没有生效,而div的修改颜色动画能够生效;在firefox中两个动画都能生效;如果给button添加背景色属性,就能在edge和chrome中生效,这是为什么。

    button {
        animation: changeColor 5s infinite;
        background-color: initial; //或其他任意值
    }

这是因为 Button 在不同的浏览器中的样式默认值不同,表现不一致。在 Chrome 和 Edge 中,button 的默认背景色是 transparent,而在 Firefox 中默认背景色是有颜色的。这导致在 Chrome 和 Edge 中没有背景色的 button 没有效果,而在 Firefox 中无论有没有背景色都会有动画效果。

解决方案是给 button 明确地指定背景色,这样在 Chrome 和 Edge 中就可以生效了也就是你问题中的:

button {
  background-color: white;
}

当然,如果你想让 button 的背景色透明,你可以通过给 button 添加伪类 ::before 或 ::after,并将动画属性添加到伪类上来实现,以此来实现你想要的动画效果。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

1. JK下载官网所有资源来源于开发团队,加入会员即可下载使用!如有问题请联系右下角在线客服!
2. JK下载官方保障所有软件都通过人工亲测,为每位会员用户提供安全可靠的应用软件、游戏资源下载及程序开发服务。
3. JK开发团队针对会员诉求,历经多年拥有现今开发成果, 每款应用程序上线前都经过人工测试无误后提供安装使用,只为会员提供安全原创的应用。
4. PC/移动端应用下载后如遇安装使用问题请联系右下角在线客服或提交工单,一对一指导解决疑难。

JK软件下载官网 技术分享 为什么edge和chrome中@keyframes设置修改背景色的动画对于button在不设置背景色情况下无效? https://www.jkxiazai.com/1487.html

JK软件应用商店是经过官方安全认证,保障正版软件平台

相关资源

官方客服团队

为您解决烦忧 - 24小时在线 专业服务