CSS过渡 - 顺利显示div

时间:2013-04-12 19:18:51

标签: javascript html css css-transitions

这是一个想法:顶部的一个div默认隐藏,然后向下滑动,推送其他内容,只需点击一下按钮即可。再次单击将再次滑动div以隐藏其他内容。

HTML

<div id="topDiv" class="hidden">
    Some content<br>
    More very complex content
</div>
<button id="thebutton" onclick="toggle('topDiv');">Toggle the div</button>
<div id="bottomDiv">
    Some content<br>
    More content!<br>
    Even more content!<br>
</div>

CSS

div.hidden {
    height: 0px;
}
div {
    height: 400px;
    transition: height 0.5s;
}

的Javascript

function toggle(someId) {
    var someElem = document.getElementById(someId);
    someElem.className = someElem.className == 'hidden' ? '' : 'hidden';
}

这里的问题是显示我想要隐藏的div的内容。如果我将div.hidden改为display: none;visibility: hidden;,那么我就会失去“滑动”效果。

我想有一个不使用jQuery的解决方案。

1 个答案:

答案 0 :(得分:7)

在div上添加overflow:hidden