【问题标题】:Hierarchical Timed Animation in CSS?CSS中的分层定时动画?
【发布时间】:2014-09-06 01:44:21
【问题描述】:

Google 设计文档指南显示此great transition (video)

如何在纯 CSS3 中重新创建它?

【问题讨论】:

  • 我刚试过this,希望对你有帮助。

标签: html css animation css-transitions material-design


【解决方案1】:

每个盒子都附有相同的动画,它们只是在不同的时间触发。您可以使用过渡延迟或动画延迟来实现这一点。上下缩放可以通过transform:scale()来完成。

.box {
    background: #4285f6;
    margin: 5px;
    height: 100px;
    width: 100px;
    float: left;
    transition: .35s cubic-bezier(0.190, 1.000, 0.220, 1.000);
    transform: scale(0);
}
.holder {
    max-width: 500px;
    overflow: hidden;
    border: 1px solid #000; 
}
.holder:hover>* {
    transform: scale(1);
}
.holder>*:nth-child(2) {transition-delay: .1s}
.holder>*:nth-child(3) {transition-delay: .2s}
.holder>*:nth-child(4) {transition-delay: .3s}
.holder>*:nth-child(5) {transition-delay: .15s}
.holder>*:nth-child(6) {transition-delay: .25s}
.holder>*:nth-child(7) {transition-delay: .35s}
.holder>*:nth-child(8) {transition-delay: .4s}

您的 html 将是:

<div class="holder">
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
  <div class="box"></div>
</div>

时间可能不太对,但这里有一个快速的尝试http://jsfiddle.net/jtup3/1/

【讨论】:

  • 我认为这就是这样做的方法。不要忘记将供应商前缀 -webkit-, -moz-, -o-... 添加到 transformtransition 属性中以便在 Chrome 和其他浏览器中工作。
  • 我在小提琴中添加了prefixfree,似乎可以修复它。干得好理查德 :-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-08-14
  • 2010-10-16
  • 2021-07-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多