单击时背景位置的 CSS 滑动动画

Posted

技术标签:

【中文标题】单击时背景位置的 CSS 滑动动画【英文标题】:CSS Sliding Animation for Background Position on click 【发布时间】:2022-01-13 04:49:24 【问题描述】:

我有以下code 为background-position 属性设置动画,以便之后它“滑动”到不同的颜色。我目前的问题是如何扭转它。我见过的大多数例子都在hover附近;这个虽然来自点击事件的上下文。有什么想法可以在重新切换时反转动画吗?

【问题讨论】:

【参考方案1】:

问题出在 CSS 文件中,试试这个:

#box 
  width: 200px;
  height: 100px;
  background-size: 200% 100%;
  background-image: linear-gradient(to right, red 50%, black 50%);


.slide-in 
  animation: slide-in 0.5s forwards;


.slide-out 
  animation: slide-out 0.5s forwards;


@keyframes slide-in 
  100% 
    background-position-x: -100%;
  


@keyframes slide-out 
  0% 
    background-position-x: 0%;
    background-image: linear-gradient(to right, black 50%, red 50%);
  
  100%
    background-position-x: 100%;
    background-image: linear-gradient(to right, black 50%, red 50%);
  

【讨论】:

很棒的人。没想到在关键帧内再次使用background-image。非常感谢@Lukas Hadja

以上是关于单击时背景位置的 CSS 滑动动画的主要内容,如果未能解决你的问题,请参考以下文章

我怎样才能避免这个css3背景循环跳转?

如何滑动两个 UIView。保持背景不变

如何使用 css3 动画更改背景位置?

jQuery - 显示滑动面板时动画绝对定位的 div 的“左”位置

如何在单击功能中使用动画更改元素的背景颜色? [复制]

[学员笔记]CSS3特效第一篇--旋转的背景&翻书效果