css 折叠版动画
我想做一个折叠板效果的div,比如element这个collapse,不用用jQuery
现在我已经能够做到展开动画,却不知道怎么做收拢动画
<div>
<div>开关</div>
<div class="collapse-content-box"></div>
</div>
@keyframes myfirst
{
0% {height: 0px}
100% {height: 150px}
}
.collapse-content-box {
overflow: hidden;
animation: myfirst 1s alternate;
animation-fill-mode : forwards;
animation-direction: alternate;
}
当展开当时候,内容div使用了如上当myfirst展开动画,请问如何在展开后,点击开关,给他加上一个收拢动画
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
用到jq库吗?有一个动画叫做fadeIn跟fadeOut的方法,用来淡入淡出,然后加fadeToggle的效果会好点
可以把打开收拢的动画单独放在一个类里面,然后控制类的增减就可以了
个人认为css好像不可以。看了下你提供的element,里面引用了两套js
估计还是要js来实现。
element js里应该有:el-collapse 相关的东西。可以查看一下。
不想用jquery就用原生的js吧,给隐藏的内容加个class类;点击按钮的时候if判断一下是否有那个类;来操作就可以。
把我写的复制进去看一下就知道怎么写了。
可以用css做选项卡的思路,折叠板有一个 <input type="checkbox">,设宽高和折叠板一样大且opacity: 0,并且z-index要比点击的折叠板高,点击了折叠板,就使checkbox选中了,用class :checked + div{display:block}控制div显示,再次点击checkbox取消,:checked + div{ display:block}失效 div隐藏