【发布时间】:2014-10-19 19:55:57
【问题描述】:
我想知道是否可以将数据标签与 CSS 中的动画结合起来。我有一个未定义数量的项目列表,这些项目由 javascript 模板引擎呈现。一旦 JS 完成渲染它们,我想一个接一个地淡入它们,而不必编写一大堆 CSS 选择器。这是我最初的想法,当时我只动态添加了大约 6 个元素。由于它可能会获得未定义的数量并且看起来仍然不错,因此我面临着所描述的问题。
这可能吗?我需要如何编写 CSS?
li.shown {
-webkit-animation: animateIn .8s forwards;
-moz-animation: animateIn .8s forwards;
animation: animateIn .8s forwards;
-webkit-transition-delay: 0;
-moz-transition-delay: 0;
transition-delay: 0;
-webkit-transition-delay: attr(data-animation-offset ms);
-moz-transition-delay: attr(data-animation-offset ms);
transition-delay: attr(data-animation-offset ms);
}
我的listitems可能是这样的,数据标签是js计算出来的:
<li data-animation-offset="2000" class="shown"></li>
当然,最简单的解决方案是使用良好的老式标签,但最酷的可能是 css 版本。
提前致谢
【问题讨论】:
-
可悲的是,我很确定这是不可能的。等待更多答案
-
是的...很确定你是唯一的动画属性而不是属性。
-
在支持 CSS
attr()功能的浏览器中,这应该可以正常工作。其他想法的人应该确保他们熟悉该功能:) -
@NielsKeurentjes "在支持 CSS
attr()功能的浏览器中" ...如果当前是空集,这不是我的错 :) -
@Pointy 你还是错了。 所有浏览器目前都支持
attr的CSS2.1规范,因为它只能用于字符串,不允许使用单位规范。没有浏览器支持允许使用的 CSS3 扩展。
标签: html css animation custom-data-attribute