【发布时间】:2014-03-09 06:52:25
【问题描述】:
我有这个 jsfiddle,我正在尝试用 CSS3 和动画创建一个手风琴。
设置相当简单:一个复选框(状态为选中或未选中)控制内容 div 是否应折叠。复选框被标签隐藏和控制。
这个原理很好用,但是动画却不行。我想要的只是让 div 滑动打开和关闭。
HTML
<div class="accordeon">
<input type="checkbox" name="accordeon-title" class="accordeon-checkbox" id="accordeon-title" /><label for="accordeon-title" class="accordeon-title-label">Accordeon titel</label>
<div class="accordeon-content">
Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Lorem ipsum dolor sit amet.
</div>
</div>
CSS3
/*Init*/
.accordeon-checkbox {display: none;}
.accordeon-title-label {cursor: pointer; background: #c4c4c4; display: block;}
.accordeon-content {height: 0; overflow:hidden; line-height: 0;}
/*Click functionaliteit*/
.accordeon:checked + label {background: #e4e4e4;}
.accordeon-checkbox:checked ~ .accordeon-content {
-webkit-animation: slide-up 5s; /* Safari 4+ */
-moz-animation: slide-up 5s; /* Fx 5+ */
-o-animation: slide-up 5s; /* Opera 12+ */
animation: slide-up 5s; /* IE 10+ */
-webkit-animation-timing-function:ease;
-moz-animation-timing-function:ease;
-o-animation-timing-function:ease;
animation-timing-function:ease;
line-height: inherit; overflow: visible; height: 100%;
}
/*Animation functionality*/
@-webkit-keyframes slide-up {
0% { height: 0; }
100% { height: 100%; }
}
@-moz-keyframes slide-up {
0% { height: 0; }
100% { height: 100%; }
}
@-o-keyframes slide-up {
0% { height: 0; }
100% { height: 100%; }
}
@keyframes slide-up {
0% { height: 0; }
100% { height: 100%; }
}
【问题讨论】:
标签: css accordion css-animations