html - 由其内部元素显示或隐藏引起的 div 高度变化的过渡

标签 html css

假设我有一个包装 div,它有 2 个内部 div,第二个内部 div 有一个显示/隐藏的切换,因为它是一个内部元素,它的出现/消失会导致包装高度变化。

<div class="wrapper">
    <div class="red">
    </div>
    <div class="blue">
    </div>
</div>

我想通过 transition: height 属性为这个变化设置动画。

this jsFiddle我试图为包装器高度变化设置动画,但没有成功。

如何获得?

注意:

1) 我不知道每次 show/hide 之后的实际 height

2) 我正在寻找纯 css 解决方案。

最佳答案

如果我完全理解你的话,你应该在 .blue 上使用 transition: height

.blue {
        background-color : blue ; 
        width : 500px ; 
        height : 0px ; 
        -webkit-transition: height 2s; /* For Safari 3.1 to 6.0 */
        transition: height 2s;
    }
    .blue.show {
        height:300px;
    }

DEMO

关于html - 由其内部元素显示或隐藏引起的 div 高度变化的过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26135661/

相关文章:

javascript - 如何在模式关闭后刷新 Bootstrap 模式字段

javascript - 如何在 ion-slide-box 上隐藏点

html - 两个浏览器显示两种不同的文本高亮颜色

html - 博主的 WhatsApp 分享按钮

php echo div 类不工作

css - 我无法居中的 div 上的奇数左边距

css - 如何将 DIV 置于 FRAMESET 之上?

javascript - 打印网页的一部分不适用于 css 更改

asp.net - 列表未在 DIV 元素中正确显示

css - 悬停图像显示在页面中间并保留缩略图