CSS3 Mega Menu

by Harsh Bhatnagar

HTML

<!-- begin header -->
<header>
    CSS3 Mega Menu
</header>
<!-- /header -->

<!-- begin wrapper -->
<div id="wrapper">

    <!-- begin nav -->
    <nav>
        <ul id="menu">
            <li><a href="#">Products</a>
                <div id="mega">
                    <ul>
                        <li><a href="#">Computers</a></li>
                        <li><a href="#">Windows Desktop Computers</a></li>
                        <li><a href="#">iMacs</a></li>
                        <li><a href="#">Laptops &amp; Macbooks</a></li>
                        <li><a href="#">Monitors</a></li>
                        <li><a href="#">Software &amp; Accessories</a></li>
                    </ul>
                    <ul>
                        <li><a href="#">Home Theatre</a></li>
                        <li><a href="#">Plasma TVs</a></li>
                        <li><a href="#">LCD TVs</a></li>
                        <li><a href="#">LED TVs</a></li>
                        <li><a href="#">Portable TVs</a></li>
                        <li><a href="#">Accessories</a></li>
                    </ul>
                    <ul>
                        <li><a href="#">Home Appliances</a></li>
                        <li><a href="#">Vacuum Cleaners</a></li>
                        <li><a href="#">Kitchenware</a></li>
                        <li><a href="#">Lighting</a></li>
                        <li><a href="#">Air Conditioners</a></li>
                        <li><a href="#">Chamberpots</a></li>
                    </ul>
                    <ul>
                        <li><a href="#">Entertainment</a></li>
                        <li><a href="#">Movies</a></li>
                        <li><a href="#">DVD &amp; Blu-Ray Players</a></li>
                        <li><a href="#">CDs</a></li>
                        <li><a href="#">Home Stereos</a></li>
                        <li><a href="#">Etch-A-Sketches</a></li>
                    </ul>
                    <ul>
              ...

CSS

body {
    font: 300 86% helvetica, arial, sans-serif;
    color: #000;
    background: #fff;
}

header {
    width: 980px;
    height: 150px;
    font-size: 3em;
    line-height: 150px;
    color: #222;
    margin: 0 auto;
}

#wrapper {
    width: 980px;
    min-height: 600px;
    margin: 0 auto;
}

nav {
    position: relative;
    width: 980px;
    height: 50px;
    margin: 0 auto;
    background: #8dc63f;
}

header,
nav {
    display: block;
}

nav ul#menu {
    display: block;
    margin: 0;
    padding: 0;
    list-style: 0;
}

nav ul#menu li {
    position: relative;
    display: inline-block;
}

nav ul#menu li a {
    display: block;
    height: 50px;
    font-size: 1em;
    line-height: 50px;
    color: #fff;
    text-decoration: none;
    padding: 0 15px;
}

nav ul#menu li a:hover,
nav ul#menu li:hover > a {
    background: #333;
}

nav ul#menu li:hover > #mega {
    display: block;
}

#mega {
    position: absolute;
    top: 100%;
    left: 0;
    width: 920px;
    height: auto;
    padding: 20px 30px;
    background: #333;
    display: none;
}

ul#menu ul {
    float: left;
    width: 23%;
    margin: 0 2% 15px 0;
    padding: 0;
    list-style: none;
}

ul#menu ul li {
    display: block;
}

ul#menu ul li a {
    float: left;
    display: block;
    width: 100%;
    height: auto;
    line-height: 1.3em;
    color: #888;
    text-decoration: none;
    padding: 6px 0;
}

ul#menu ul li:first-child a {
    font-size: 1.2em;
    color: #8dc63f;
}

ul#menu ul li a:hover {
    color: #fff;
    background: none;
}

ul#menu ul li:first-child a:hover {
    color: #fff;
}


/* clearfix */

nav ul:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0;
}

nav ul {
    display: inline-block;
}

html[xmlns] nav ul {
    display: block;
}

* html nav ul {
    height: 1%;
}

#content {
    padding: 30px 0;
}