从左侧滑入的CSS动画

8

我希望能制作一个简单的动画,在页面加载时,我的标志应该从盒子的左侧动画到右侧。我尝试了许多版本,但还没有成功。

HTML

<body>

<div>
<img src="logo.png" alt="logo" style="width:170px;height:120px;">
</div>
</body>

CSS

div
{
 width:640px;
 height:175px;
 background:blue;
 -webkit-transition: all 1s ease-in-out;
 -moz-transition: all 1s ease-in-out;
 -o-transition: all 1s ease-in-out;
 -ms-transition: all 1s ease-in-out;
 position:absolute;
}
div img
{
 -webkit-transform: translate(3em,0);
 -moz-transform: translate(3em,0);
 -o-transform: translate(3em,0);
 -ms-transform: translate(3em,0);
}
2个回答

21

尝试使用关键帧(keyframes)。

div {
  width: 50px;
  height: 40px;
  background: blue;
  position: relative;
  left: 500px;
  -webkit-animation: slideIn 2s forwards;
  -moz-animation: slideIn 2s forwards;
  animation: slideIn 2s forwards;
}
@-webkit-keyframes slideIn {
  0% {
    transform: translateX(-900px);
  }
  100% {
    transform: translateX(0);
  }
}
@-moz-keyframes slideIn {
  0% {
    transform: translateX(-900px);
  }
  100% {
    transform: translateX(0);
  }
}
@keyframes slideIn {
  0% {
    transform: translateX(-900px);
  }
  100% {
    transform: translateX(0);
  }
}
<div></div>


谢谢,亚伦!所以这就几乎像是After Effects一样。 - user2165458

1

您需要使用动画而不是过渡效果。过渡效果会在特定事件触发,例如点击添加类或悬停时触发。

div img {
    animation: example 1s ease-in-out forwards;
}

@keyframes example {
    from {transform: transition(0,0)}
    to {transform: transition(3em,0)}
}

现在你当然需要添加前缀,如webkit、moz等。
关于CSS3中关键帧动画的基本知识: http://www.w3schools.com/css/css3_animations.asp

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接