【问题标题】:How to animate a transition between 4 images in CSS如何在 CSS 中为 4 个图像之间的过渡设置动画
【发布时间】:2021-06-28 10:57:05
【问题描述】:

我查看了 w3schools 并发现了这个用于在 2 种颜色之间进行动画转换的 sn-p 代码:

@keyframes example {
  0%   {background-color:red; left:0px; top:0px;}
  25%  {background-color:yellow; left:200px; top:0px;}
  50%  {background-color:blue; left:200px; top:200px;}
  75%  {background-color:green; left:0px; top:200px;}
  100% {background-color:red; left:0px; top:0px;}
}

div {
  width: 100px;
  height: 100px;
  position: relative;
  background-color: red;
  animation-name: example;
  animation-duration: 4s;
  animation-iteration-count: infinite;
}

为了使 4 张图像之间的过渡动​​画化,我对此进行了调整:

@keyframes graphic {
        from {img src="Scene1.jpg" alt="Scene1";}
        to {img src="Scene2.jpg" alt="Scene2";}
        to {img src="Scene3.jpg" alt="Scene3";}
        to {img src="Scene4.jpg" alt="Scene4";}
    }
    .animation {
        width: 100px;
        height: 100px;
        position: relative;
        background-color: red;
        animation-name: graphic;
        animation-duration: 20s;
        animation-iteration-count: infinite;
    }

并将其用作 div:

<div class="animation">
            animation
        </div>

然而,这一切只是将文本“动画”放到网页上。我是否正确地调整了这一点,或者是否有其他方法可以在图像之间设置动画过渡?

【问题讨论】:

  • 是的,你的方法根本不正确。关键帧设置 CSS 属性,但 img src="Scene1.jpg" alt="Scene1"; 不是 CSS,甚至不是远程的。
  • 你的方法不对,查看这个链接css3.bradshawenterprises.com/cfimg

标签: html css


【解决方案1】:

也许可以尝试使用background-image

.animation {
        width: 100px;
        height: 100px;
        position: relative;
        background-color: red;
        animation-name: graphic;
        animation-duration: 20s;
        animation-iteration-count: infinite;
        background-size: contain;
        background-repeat: no-repeat;
    }


@keyframes graphic {
  0%   {background-image: url("https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fwww.all-about-siamese-cats.com%2Fimages%2Ftraditionalseal.jpg&f=1&nofb=1")}
  25%  {background-image: url("https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.petshopsuk.co.uk%2Fimages%2Fcat%2F390%2Fcats.jpg&f=1&nofb=1")}
  50%  {background-image: url("https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fwww.all-about-siamese-cats.com%2Fimages%2Ftraditionalseal.jpg&f=1&nofb=1")}
  75%  {background-image: url("https://external-content.duckduckgo.com/iu/?u=https%3A%2F%2Fwww.catster.com%2Fwp-content%2Fuploads%2F2015%2F06%2Fcats-love-each-other-imagefile-shutterstock_1446712551.jpg&f=1&nofb=1")}
  100% {background-image: url("https://external-content.duckduckgo.com/iu/?u=http%3A%2F%2Fwww.all-about-siamese-cats.com%2Fimages%2Ftraditionalseal.jpg&f=1&nofb=1")}
    }
&lt;div class="animation"&gt; &lt;/div&gt;

【讨论】:

  • 如何在我的计算机上使用这种方法而不是来自 url 的图像?
  • 只需将我示例中的 url 替换为您的文件路径即可。
  • 对于我尝试的文件路径:url(././project/scene1.jpg),所有显示的是红色框 - 我的路径错误吗?
  • @King 我不知道您的本地环境或您的图片存储位置,所以我不确定。但也许看看这里:stackoverflow.com/questions/20047364/…
  • 我设法改用 url 来修复它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-02-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
  • 2019-05-16
  • 1970-01-01
相关资源
最近更新 更多