在页面加载动画上制作 css 的正确方法是啥? [复制]
Posted
技术标签:
【中文标题】在页面加载动画上制作 css 的正确方法是啥? [复制]【英文标题】: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,以避免出现空框。 【参考方案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>
【讨论】:
以上是关于在页面加载动画上制作 css 的正确方法是啥? [复制]的主要内容,如果未能解决你的问题,请参考以下文章