在页面加载动画上制作CSS的正确方法是什么?

时间:2015-05-18 13:42:47

标签: javascript css responsive-design

我的问题并不在于如何制作在页面加载时触发的动画,这是最好的方法。这至少意味着:

响应性。

-SEO友好。

- 没有闪烁。

通常我会创建一个未激活的.hidden.offpage状态(以防万一没有javascript工作)。然后,当页面加载时,javascript会添加一个类来隐藏它们而不进行转换,然后通过转换来反转状态。

这种方法可以改进吗?

1 个答案:

答案 0 :(得分:0)

您不需要任何Javascript来动画某些内容。你可以简单地使用CSS3。

Example :



header {
  background: #000;
  color: #fff;
  height: 20px;
  position: relative;
  padding: 10px;
  -moz-animation-name: dropHeader;
  -moz-animation-iteration-count: 1;
  -moz-animation-timing-function: ease-in;
  -moz-animation-duration: 0.3s;
  -webkit-animation-name: dropHeader;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: ease-in;
  -webkit-animation-duration: 0.3s;
  animation-name: dropHeader;
  animation-iteration-count: 1;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}
header ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
header ul li {
  display: inline-block;
  margin-right: 20px
}
@-moz-keyframes dropHeader {
  0% {
    -moz-transform: translateY(-40px);
  }
  100% {
    -moz-transform: translateY(0);
  }
}
@-webkit-keyframes dropHeader {
  0% {
    -webkit-transform: translateY(-40px);
  }
  100% {
    -webkit-transform: translateY(0);
  }
}
@keyframes dropHeader {
  0% {
    transform: translateY(-40px);
  }
  100% {
    transform: translateY(0);
  }
}
/* Added for aesthetics */

body {
  margin: 0;
  font: normal 14px"Segoe UI", Arial, Helvetica, Sans Serif;
}
a {
  color: #eee;
  text-decoration: none;
}

<header>
  <ul>
    <li><a href="#">Home</a>
    </li>
    <li><a href="#">About</a>
    </li>
    <li><a href="#">Products</a>
    </li>
    <li><a href="#">Contact</a>
    </li>
  </ul>
</header>
&#13;
&#13;
&#13;

相关问题