gpt4 book ai didi

html - Div 在 CSS 过渡期间消失

转载 作者:太空狗 更新时间:2023-10-29 16:34:24 24 4
gpt4 key购买 nike

我有两个 div 并排放置。单击一个按钮,左侧的 div 向左折叠,只留下右侧的 div。由于右边的 div 是 width:100%;,它填充了折叠的左边 div 留下的空间。唯一的问题是当 div 正在折叠/CSS 转换正在进行时,右边的 div 消失了一会儿,我不明白为什么。

HTML

<div>
<div id="demo" class="collapse show width">
<aside>
</aside>
</div><!--COLLAPSE-->

<main>
<button role="button" class="btn btn-danger" data-toggle="collapse" data-target="#demo">
simple horizontal collapsible
</button>
<div class="sample">
Some TExt
</div>
</main>
</div>

CSS

html {
height: 100%
}

body {
height: 100%;
font: 14px "Lucida Grande", Helvetica, Arial, sans-serif;
background: gray;
}

a {
color: #00B7FF;
}

.collapse {
visibility: hidden;
}

.collapse.show {
visibility: visible;
display: block;
}

.collapsing {
position: relative;
height: 0;
overflow: hidden;
-webkit-transition-property: height, visibility;
transition-property: height, visibility;
-webkit-transition-duration: 0.45s;
transition-duration: 0.45s;
-webkit-transition-timing-function: ease;
transition-timing-function: ease;
}

.collapsing.width {
-webkit-transition-property: width, visibility;
transition-property: width, visibility;
width: 0;
height: auto;
}

aside {
height: 100vh;
width: 250px;
background-color: white;
/*border-right:1px solid black;*/
display: block;
float: left;
}

.sample {
margin-top: 100px;
text-align: center;
}

main {
width: 100%;
height: 100vh;
background-color: pink;
display: inline;
}

实例

https://jsfiddle.net/djjvqtop/1/

这发生在所有浏览器中。有没有办法防止这种情况?

最佳答案

问题是由于添加overflow: hidden引起的。改变 #demo 的高度.最初它是 0,因为它只包含 float 元素。类 .collapsing添加 overflow: hidden ,这使得它扩展以包含 float 。所以#demo.collapsing高度为 <aside><main>元素在它下面并且看不见。

一个解决方案是制作#demo也向左浮动。

关于html - Div 在 CSS 过渡期间消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47191491/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com