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 & Macbooks</a></li>
<li><a href="#">Monitors</a></li>
<li><a href="#">Software & 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 & 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;
}