Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 移动多个对象的CSS动画_Html_Css_Css Selectors_Css Animations - Fatal编程技术网

Html 移动多个对象的CSS动画

Html 移动多个对象的CSS动画,html,css,css-selectors,css-animations,Html,Css,Css Selectors,Css Animations,我的第一篇文章在这里,我不知道我的代码出了什么问题。 我的猜测是选择器出了问题,我不应该像以前那样使用3类 我正在尝试制作动画: 正方形从左角开始 下降到4行 4行向右移动,形成12列 正文{ 对齐项目:居中; 显示器:flex; 证明内容:中心; 高度:100vh; } .主集装箱{ 背景:aliceblue; 高度:115px; 宽度:355px; 位置:相对位置; } .垂直{ 背景:黑色; 高度:25px; 宽度:25px; 位置:绝对位置; 动画填充模式:正向; 动画持续时间:0.5

我的第一篇文章在这里,我不知道我的代码出了什么问题。 我的猜测是选择器出了问题,我不应该像以前那样使用3类

我正在尝试制作动画:

  • 正方形从左角开始
  • 下降到4行
  • 4行向右移动,形成12列
  • 正文{
    对齐项目:居中;
    显示器:flex;
    证明内容:中心;
    高度:100vh;
    }
    .主集装箱{
    背景:aliceblue;
    高度:115px;
    宽度:355px;
    位置:相对位置;
    }
    .垂直{
    背景:黑色;
    高度:25px;
    宽度:25px;
    位置:绝对位置;
    动画填充模式:正向;
    动画持续时间:0.5s;
    }
    .水平{
    背景:黑色;
    高度:25px;
    宽度:25px;
    位置:绝对位置;
    动画填充模式:正向;
    动画持续时间:0.1s;
    }
    .垂直2{
    动画名称:v2;
    }
    .垂直3{
    动画名称:v3;
    动画延迟:0.5s;
    }
    .垂直的{
    动画名称:v4;
    动画延迟:1s;
    }
    .水平1{
    动画名称:h1;
    动画延迟:1.5s;
    }
    .水平2{
    动画名称:h2;
    动画延迟:1.6s;
    }
    .水平3{
    动画名称:h3;
    动画延迟:1.7秒;
    }
    .水平4{
    动画名称:h4;
    动画延迟:1.8s;
    }
    .水平5{
    动画名称:h5;
    动画延迟:1.9秒;
    }
    .水平6{
    动画名称:h6;
    动画延迟:2s;
    }
    .横向7{
    动画名称:h7;
    动画延迟:2.1s;
    }
    .水平8{
    动画名称:h8;
    动画延迟:2.2s;
    }
    .水平9{
    动画名称:h9;
    动画延迟:2.3s;
    }
    .水平10{
    动画名称:h10;
    动画延迟:2.4s;
    }
    .横向11{
    动画名称:h11;
    动画延迟:2.5s;
    }
    @关键帧v2{
    0% {
    背景色:黑色;
    顶部:0px;
    }
    100% {
    背景色:黑色;
    顶部:30px;
    }
    }
    @关键帧v3{
    0% {
    背景色:黑色;
    顶部:30px;
    }
    100% {
    背景色:黑色;
    顶部:60px;
    }
    }
    @关键帧v4{
    0% {
    背景色:黑色;
    顶部:60px;
    }
    100% {
    背景色:黑色;
    顶部:90px;
    }
    }
    @关键帧h1{
    0% {
    背景色:黑色;
    左:0px;
    }
    100% {
    背景色:黑色;
    左:30px;
    }
    }
    @关键帧h2{
    0% {
    背景色:黑色;
    左:30px;
    }
    100% {
    背景色:黑色;
    左:60px;
    }
    }
    @关键帧h3{
    0% {
    背景色:黑色;
    左:60px;
    }
    100% {
    背景色:黑色;
    左:90px;
    }
    }
    @关键帧h4{
    0% {
    背景色:黑色;
    左:90px;
    }
    100% {
    背景色:黑色;
    左:120px;
    }
    }
    @关键帧h5{
    0% {
    背景色:黑色;
    左:120px;
    }
    100% {
    背景色:黑色;
    左:150px;
    }
    }
    @关键帧h6{
    0% {
    背景色:黑色;
    左:150px;
    }
    100% {
    背景色:黑色;
    左:180像素;
    }
    }
    @关键帧h7{
    0% {
    背景色:黑色;
    左:180像素;
    }
    100% {
    背景色:黑色;
    左:210像素;
    }
    }
    @关键帧h8{
    0% {
    背景色:黑色;
    左:210像素;
    }
    100% {
    背景色:黑色;
    左:240px;
    }
    }
    @关键帧h9{
    0% {
    背景色:黑色;
    左:240px;
    }
    100% {
    背景色:黑色;
    左:270px;
    }
    }
    @关键帧h10{
    0% {
    背景色:黑色;
    左:270px;
    }
    100% {
    背景色:黑色;
    左:300px;
    }
    }
    @关键帧h11{
    0% {
    背景色:黑色;
    左:300px;
    }
    100% {
    背景色:黑色;
    左:330px;
    }
    }
    
    文件
    
    这里有一个想法,代码更少,你可以依靠背景动画,只需要一个元素

    .box{
    背景:aliceblue;
    高度:115px;
    宽度:355px;
    位置:相对位置;
    保证金:50px自动;
    背景:
    重复线性渐变(向右,#000 0 25px,透明25px 30px),
    重复线性渐变(向右,#000 0 25px,透明25px 30px),
    重复线性渐变(向右,#000 0 25px,透明25px 30px),
    重复线性渐变(向右,#000 0 25px,透明25px 30px),
    aliceblue;
    背景重复:无重复;
    动画:向前改变3s;
    }
    @关键帧改变{
    0% {
    背景尺寸:25px 25px;
    背景位置:
    0计算(0*100%/3),
    0计算(0*100%/3),
    0计算(0*100%/3),
    0计算(0*100%/3);
    }
    20% {
    背景尺寸:25px 25px;
    背景位置:
    0计算(0*100%/3),
    0计算(1*100%/3),
    0计算(1*100%/3),
    0计算(1*100%/3);
    }
    30% {
    背景尺寸:25px 25px;
    背景位置:
    0计算(0*100%/3),
    0计算(1*100%/3),
    0计算(2*100%/3),
    0计算(2*100%/3);
    }
    50% {
    背景尺寸:25px 25px;
    背景位置:
    0计算(0*100%/3),
    0计算(1*100%/3),
    0计算(2*100%/3),
    0计算(3*100%/3);
    }
    100% {
    背景尺寸:100%25px;
    背景位置:
    0计算(0*100%/3),
    0计算(1*100%/3),
    0计算(2*100%/3),
    0计算(3*100%/3);
    }
    }

    从您的代码片段中我看到,所有水平块都堆叠在同一垂直高度上。e、 g:

    <div id="block5" class="horizontal horizontal1 vertical1"></div>
    <div id="block6" class="horizontal horizontal1 vertical2"></div>
    <div id="block7" class="horizontal horizontal1 vertical3"></div>
    <div id="block8" class="horizontal horizontal1 vertical4"></div>
    
    这两个css类相互冲突,因此只能从
    .horizontal2
    中选择动画h2,而不是同时使用这两个类

    一种方法是使用每个块自己的动画来定义每个块。我将举一个例子,您可以对每个块使用:

    .vertical2.horizontal1 {
      animation-name: v2h1;
    }
    @keyframes v2h1 {
      0% {
        background-color: black;
        top: 0px;
        left: 0px;
      }
      100% {
        background-color: black;
        top: 30px;
        left: 30px;
      }
    }
    

    非常感谢你。从现在开始,背景属性看起来是一种发展方向。我将尝试找到更多关于它的信息,并尝试使用此方法制作更多动画。@Alp3n这里是一个g
    .vertical2.horizontal1 {
      animation-name: v2h1;
    }
    @keyframes v2h1 {
      0% {
        background-color: black;
        top: 0px;
        left: 0px;
      }
      100% {
        background-color: black;
        top: 30px;
        left: 30px;
      }
    }