antd组件库BackTop组件设置动态背景图片的问题

有这么一个需求,利用antd组件库中的BackTop组件的逻辑,但是自己写样式。

我的目标样式是:有两张图片,一张是normal(正常情况),一张是hover(悬停情况)。

这时候就要用到css的动画了

这是第一版,也是错误的版本

下面是jsx的代码

<BackTop>
        <div className="normal-top"></div>
</BackTop>

这是css的样式代码

复制代码
.mybacktop .normal-top {
  height: 50px;
  width: 50px;
  background: url(../../img/topnormal.png) no-repeat;
  text-align: center;
}
.mybacktop .normal-top:hover {
  animation: changebacktopimg 0.3s forwards;
  -webkit-animation: changebacktopimg 0.3s forwards;
}

@keyframes changebacktopimg {
  from {
    background: url(../../img/topnormal.png) no-repeat;
  }
  to {
    background: url(../../img/topfocus.png) no-repeat;
  }
}
复制代码

这样子写的话,hover的时候图片消失了。经过我一番研究发现我的动画和antd的动画重叠了。所以我再写了一个div作为包裹,并给上antd该组件相关的类名,然后在里面的div写上自己的动画,这个功能就完成了!

下面是jsx的代码

<BackTop>
        <div className="ant-fade-enter ant-fade-enter-active ant-fade">
          <div className="normal-top"></div>
        </div>
</BackTop>

下面是css的代码(其实css的代码没变)

复制代码
.mybacktop .normal-top {
  height: 50px;
  width: 50px;
  background: url(../../img/topnormal.png) no-repeat;
  text-align: center;
}
.mybacktop .normal-top:hover {
  animation: changebacktopimg 0.3s forwards;
  -webkit-animation: changebacktopimg 0.3s forwards;
}

@keyframes changebacktopimg {
  from {
    background: url(../../img/topnormal.png) no-repeat;
  }
  to {
    background: url(../../img/topfocus.png) no-repeat;
  }
}
复制代码
posted @   小兜兜me  阅读(554)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
点击右上角即可分享
微信分享提示