CSS height auto 过渡
2023-12-14 19:52:23
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Document</title>
</head>
<body>
<button onclick="toggleHeight()">点击我切换高度</button>
<div class="box">tips:dwqdqwwdqwdqwdqwdqwd</div>
<style>
.box {
background-color: #ccc;
transition: height 0.5s ease-in-out;
overflow: hidden;
}
</style>
<script>
let originHeight = null;
init()
function init(){
var box = document.querySelector(".box");
var height = box.clientHeight;
originHeight = height;
box.style.height = "0px";
}
function toggleHeight() {
var box = document.querySelector(".box");
if (box.style.height !== "0px") {
box.style.height = "0px";
} else {
box.style.height = originHeight + "px";
}
}
</script>
</body>
</html>
首先,css height过渡,必须设置具体数值,如果设置auto,呢么过渡效果不会产生,所以需要使用js获取,以此来获取高度值,然后保存起来originHeight,切换时候设置height为0px或者originHeight来切换实现过渡效果。
ps:可能有伙伴会问,呢上面的例子和height:auto有什么关系,需要注意height的默认值就是auto;
文章来源:https://blog.csdn.net/Future1994/article/details/134933159
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!