css - 如何切换 scaleX 以翻转没有动画的图像

标签 css css-transforms

我想每 1000 毫秒立即翻转图像。我正在尝试,但动画做了它应该做的事情(逐渐翻转图片)。如果我可以立即翻转图片,它会让人联想到行走的鸭子。我知道我可以使用 setInterval(),但我宁愿只在 CSS 中这样做。

.duck {
    position: absolute;

    animation: flip-me;
    animation-duration: 1000ms;
    animation-direction: alternate;
    animation-iteration-count: infinite;
}

@keyframes flip-me {
    0% { transform: scaleX(1) }
    100% { transform: scaleX(-1) }
}

最佳答案

可以考虑steps()

img {
  animation: flip-me 2s steps(1) infinite;
}

@keyframes flip-me {
  50% { /*Pay attention: it's 50% not 100% !!*/
    transform: scaleX(-1)
  }
}

/*no need 0% or 100% state as they be set by default to scaleX(1)*/
<img src="https://picsum.photos/200/200?image=1069">

关于css - 如何切换 scaleX 以翻转没有动画的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54868579/

相关文章:

CSS 旋转变换模糊文本

mobile - 在移动 webkit 上翻译的 div 中输入时出现奇怪的行为

javascript - 如何使用自定义选项制作旋转图像

影响框可访问性/鼠标灵敏度的 CSS 过渡

html - 显示没有异常空格的 <p> 句子

javascript - 使用 css 或 javascript 进行图像处理

CSS - 当分配了 2 个 CSS 类的组合时,为 DIV 设置样式

mobile-safari - Mobile Safari 中的 2D 转换硬件是否加速?

html - 没有唯一容器时分屏布局的最佳方法

javascript - 即使在使用 Javascript 重新加载页面后,也可以通过单击来保留所选颜色