css动画使一个项目流入块中

u91tlkcl  于 2023-04-01  发布在  其他
关注(0)|答案(2)|浏览(90)

我需要将红色方块从比例(100)调整到比例(1)。但现在,在动画开始时,其比例为1,然后才开始增加到100。我可以使红色方块块在动画开始时不显示其原始大小吗?
https://codepen.io/alex-filippovich/pen/ExeJEEP

.container .box {
  width: 200px;
  height: 200px;
  background-color: red;
  margin: 0 auto;
}

.container .box {
  -webkit-animation-name: hideit;
  -webkit-animation-duration: 1s;
  -webkit-animation-timing-function: ease-in;
  -webkit-animation-delay: 1s;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
}

@-webkit-keyframes hideit {
  0% {
    display: none;
    transform: scale(10)
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
<div class="container">
  <div class="box"></div>
</div>
ccrfmcuu

ccrfmcuu1#

将框设置为opacity: 0;,然后使用opacity: 1;开始动画

.container .box {
      width: 200px;
      height: 200px;
      background-color: red;
      margin: 0 auto;  
      opacity: 0;
    }
    
    .container .box {
      -webkit-animation-name: hideit;
      -webkit-animation-duration: 1s;
      -webkit-animation-timing-function: ease-in;
      -webkit-animation-delay: 1s;
      -webkit-animation-iteration-count: 1;
      -webkit-animation-fill-mode: forwards;
    }
    
    @-webkit-keyframes hideit {
      0% { opacity: 1; transform: scale(10) }
      50% { opacity: 1; }
      100% { opacity: 0; }  
    }
<div class="container">
    <div class="box"></div>
  </div>
bqucvtff

bqucvtff2#

首先,要明白动画需要1秒才能开始,因为你使用了1秒的延迟。如果你删除了,动画开始时块是隐藏的。
但如果要保留延迟,请将规则display: none添加到.container .box选择器,并将display: block添加到动画的50%和100%步长。

相关问题