【问题标题】:What is the right way to make a css on page load animation? [duplicate]在页面加载动画上制作 css 的正确方法是什么? [复制]
【发布时间】:2015-07-30 01:17:57
【问题描述】:

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

-响应式。

-SEO 友好。

-不闪烁。

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

这种方法可以改进吗?

【问题讨论】:

  • CSS3 不是您认为的解决方案?
  • 应该是吧,不过把animate用于非装饰性的目的感觉有点奇怪……
  • 什么意思?目的是在页面加载时为某些内容设置动画。我们将使用 Javascript 显示或隐藏某些内容的唯一情况是,当我们异步调用数据并且我们希望仅在获得数据时才显示 div,以避免出现空框。

标签: javascript css responsive-design


【解决方案1】:

您不需要任何 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>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-01-15
    • 1970-01-01
    • 2018-06-16
    • 2018-01-14
    • 1970-01-01
    • 1970-01-01
    • 2021-11-27
    • 2015-08-14
    相关资源
    最近更新 更多