CSS Sliding Panels

HTML

<nav>
    <ul>
        <li><a href="#panel1">Panel 1</a>

        </li>
        <li><a href="#something">Something</a>

        </li>
    </ul>
</nav>
<div id="container">
    <div id="panel1" class="panel">
        <section>
             <h1>This is Panel 1</h1>

        </section>
    </div>
    <div id="something" class="panel">
        <section>
             <h1>Something</h1>

            <p>This one has lots of text which should not cause the page to scroll when hidden.</p>
            <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas tempor ultricies auctor. Pellentesque mattis, dolor eu imperdiet tristique, arcu lorem suscipit metus, sed scelerisque enim mi quis dolor. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non facilisis odio. Nulla elementum ornare scelerisque. Cras in lobortis enim. Donec molestie ligula at lacus tristique et congue leo rutrum. Duis fermentum sollicitudin est. Nam consequat arcu volutpat magna lacinia eget aliquet neque molestie. Praesent sollicitudin rhoncus gravida. Vivamus non pulvinar velit. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Aenean sed est a augue facilisis suscipit eget lacinia ante. Pellentesque vulputate ipsum vitae mi fermentum gravida. Mauris dapibus eleifend ornare. Integer pulvinar venenatis tellus quis pharetra.</p>
        </section>
    </div>
</div>

CSS

#container {
    position: relative;
    overflow: hidden;
    background: lightBlue;
}
.panel {
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 300px;
    width: 300px;
    max-height: 0;
    background: lightGreen;
    -webkit-transition: left .25s linear, max-height .25s linear;
    -moz-transition: left .25s linear, max-height .25s linear;
    -o-transition: left .25s linear, max-height .25s linear;
    transition: left .25s linear, max-height .25s linear;
}
.panel:target {
    left: 0px;
    max-height: 9999px;
    position: relative;
}
#panel1 {
    background: lightPink;
}
nav {
    margin-bottom: 20px;
}

JavaScript

window.location.hash = "panel1";