Here's the idea: A div on top which is hidden by default and will slide down, pushing other content, by the click of a button. Another click will slide the div to be hidden again, raising the other content.

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>

Given that this answer was recently upvoted: transition no longer requires any prefixes on reasonably up to date browsers. I've stopped prefixing it in new sites a while back.
–
Niels KeurentjesJun 15 '14 at 10:59