当前位置: 首页 > 知识库问答 >
问题:

CSS部分迭代

田彬郁
2023-03-14

我在考虑制作一个动画,例如,一个圆圈从屏幕/网站的顶部下降到底部,然后开始无休止地旋转。我有这个想法,但我不知道如何用CSS来描述它。

这就是我到目前为止所做的事情,我被卡住了:

#circle {
    border-radius: 50%;
    border-top-color: red;
    width: 200px;
    height: 200px;
    bottom: 0px;

#circle {
    animation-name: falling;
    animation-duration: 5s;

@keyframes falling {
    0% { 
    bottom: 100%; 
}

    50% {
    bottom:0%;
}

    100% {
    transform: rotate(360deg);
}

我不知道如何在“100%”步骤中进行迭代。请给我一些建议

共有1个答案

梅宏盛
2023-03-14

您可以通过在相关的CSS动画属性之后按顺序列出它们的设置来在CSS中链接动画。

至关重要的是,您需要设置动画顺序及其各自的持续时间:

动画:下降1s,旋转2s

然后将它们按顺序排列:

动画延迟:0,1s

所以...上面基本上说的是坠落动画会持续1秒,马上播放...然后1秒后播放旋转动画(当坠落完成)

同样重要的是指定只播放一次下降动画,但循环旋转:

动画-迭代-计数:1,无限;

重要的是,不要在完成时重置下降动画状态。。。因此,圆圈位于页面底部,用于旋转。。保持周期性:

动画填充模式:转发,两者;

HTML

<div id='circle'></div>

CSS

#circle {
    border-radius: 50%;
    border: 4px solid red;
    width: 20px;
    height: 20px;
    bottom: auto;
    position:absolute;
    animation: falling 1s, rotate 2s;
    animation-delay: 0s, 1s;
    animation-iteration-count: 1, infinite;
    animation-fill-mode: forwards, both;
    -webkit-animation: falling 1s, rotate 2s;
    -webkit-animation-delay: 0s, 1s;
    -webkit-animation-iteration-count: 1, infinite;
    -webkit-animation-fill-mode: forwards, both;
}
@keyframes falling {
    0% {
        bottom: 100%;
    }
    100% {
        bottom:0%;
    }
}
@keyframes rotate {
    0% {
        -webkit-transform: rotateX(0deg);
    }
    100% {
        -webkit-transform: rotateX(360deg);
    }
}
@-webkit-keyframes falling {
    0% {
        bottom: 100%;
    }
    100% {
        bottom:0%;
    }
}
@-webkit-keyframes rotate {
    0% {
        -webkit-transform: rotateX(0deg);
    }
    100% {
        -webkit-transform: rotateX(360deg);
    }
}

 类似资料:
  • (一) CSS语法 1.1 单位 ​ px全称pixel像素,是相对于屏幕分辨率而言的,它是一个绝对单位,但同时具有一定的相对性。因为在同一个设备上每个像素代表的物理长度是固定不变的,这点表现的是绝对性。但是在不同的设备之间每个设备像素所代表的物理长度是可以变化的,这点表现的是相对性。 ​ em是一个相对长度单位,具体的大小需要相对于父元素计算,比如父元素的字体大小为80px,那么子元素1em就表

  • 问题 你想遍历一个可迭代对象,但是它开始的某些元素你并不感兴趣,想跳过它们。 解决方案 itertools 模块中有一些函数可以完成这个任务。 首先介绍的是 itertools.dropwhile() 函数。使用时,你给它传递一个函数对象和一个可迭代对象。 它会返回一个迭代器对象,丢弃原有序列中直到函数返回Flase之前的所有元素,然后返回后面所有元素。 为了演示,假定你在读取一个开始部分是几行注

  • 问题内容: 如何使用IntStream在step(3)中迭代数字范围(0-100)? 我试过了,但这从未停止执行。 问题答案: 实际上,这是理想的。 编辑:Holgers的解决方案是性能最快的解决方案。 由于以下几行代码 显示这些基准结果

  • 问题内容: 我只是想知道内部和外部迭代的真正好处是什么,以及为什么使用内部操作更好(至少是我所听到的)。在对集合进行内部迭代时,是否还可以删除集合的元素?就像在代码示例中一样: 我知道内部迭代的代码可读性更好,但是还有其他一些好处,例如性能改进? 问题答案: 您的情况有些简单,因为您可以简单地使用resp。而是使用内部迭代的替代方法,它也可以处理更复杂的条件。 在的情况下,这将立即显示内部迭代的优

  • 问题内容: 我有一些用PHP生成的元素,我想知道是否可以选择ID不完整的元素,例如: 该类已经习惯了它们的共同点,但是现在我需要单独选择它们,但我不知道整个ID名称。 我可以使用类似: 问题答案: 不使用ID选择器,因为它们需要完整的ID名称,但使用substring属性选择器: 但是,既然您的元素仍然具有属性,那么为什么不向每个元素组添加一个通用类并按该类进行选择呢?您应该能够像生成ID一样使用

  • 有人能告诉我为什么这行不通吗?以及如何让它发挥作用?