Web Designers Journal

Visions Connected To The Web

By

CSS dropdown menu

Here is a tiered CSS drop-down menu that works in IE 6, 7, and 8; Opera 9 and 10; Firefox 3.5.3.00; Flock 2.0 and 2.52; and Chrome 2.0.172.43 and 3.0.195.21
without hacks or javascripting and is accessible without using a mouse.  One downside is that it still uses images for the tabs and the sub-menus are only one level.

View source to download code.
Screenshot:

Demo.

Code:

<style type=”text/css”>
<!–
body,td,th {
font-family: Verdana, Geneva, sans-serif;
font-size: 100%;
color: #666;
}
body {
background-color: #fff;
margin-left: 20px;
margin-top: 20px;
margin-right: 20px;
margin-bottom: 20px;
}

a, a:hover, a:active, a:focus {
outline:0;
direction:ltr;
}

.wrapper {
position:relative; height:25px;
}

.mainmenu {
position:absolute;
z-index:100;
font-family:Verdana, Geneva, sans-serif;
font-weight:normal;
font-size:90%;
line-height:25px;
left:50%;
margin-left:-303px;
width:606px;
}

ul.menu {
padding:0;
margin:0;
list-style:none;
width:100px;
overflow:hidden;
float:left;
margin-right:1px;
}

ul.menu a {
text-decoration:none;
color:#fff;
padding-left:5px;
}

ul.menu li.list {
float:left;
width:250px;
margin:-32767px -125px 0px 0px;
background:url(images/top1.png) no-repeat left bottom;
}

ul.menu li.list a.category {
position:relative;
z-index:50;
display:block;
float:left;
width:120px;
margin-top:32767px;
background:transparent;
}

ul.menu li.list a.category:hover,
ul.menu li.list a.category:focus,
ul.menu li.list a.category:active {
margin-right:1px;
background-image:url(images/tophover1.png);
background-repeat:no-repeat;
background-position:left top;
}

ul.submenu {
float:left;
padding:25px 0px 0px 0px;
margin:0;
list-style:none;
background-image:url(images/tophover1.png);
background-repeat:no-repeat;
background-position:left top;
margin:-25px 0px 0px 0px;
}

ul.submenu li a {
float:left;
width:120px;
background:#369;
clear:left;
}

ul.submenu li a.endlist {
background:url(images/bottom1.png);
}

ul.submenu li a.endlist:hover,
ul.submenu li a.endlist:focus,
ul.submenu li a.endlist:active {
background:url(images/bottomhover1.png);
}

ul.submenu a:hover,
ul.submenu a:focus,
ul.submenu a:active {
background:#900;
margin-right:1px;
}
–>

</style>

<div>
<div>
<ul>
<li>
<a href=”#Home”>Home</a>
</li>
</ul>
<ul>
<li>
<a href=”#about”>About Us&nbsp;&nbsp;&raquo;</a>
<ul>
<li><a href=”#about1″>About link 1</a></li>
<li><a href=”#about2″>About link 2</a></li>
<li><a href=”#about3″>About link 3</a></li>
<li><a href=”#about4″>About link 4</a></li>
<li><a href=”#about5″>About link 5</a></li>
</ul>
</li>
</ul>
<ul>
<li>
<a href=”#articles”>Articles&nbsp;&nbsp;&raquo;</a>
<ul>
<li><a href=”#articles1″>Articles link 1</a></li>
<li><a href=”#articles2″>Articles link 2</a></li>
<li><a href=”#articles3″>Articles link 3</a></li>
<li><a href=”#articles4″>Articles link 4</a></li>
</ul>
</li>
</ul>
<ul>
<li>
<a href=”#news”>News&nbsp;&nbsp;&raquo;</a>
<ul>
<li><a href=”#news1″>News link 1</a></li>
<li><a href=”#news2″>News link 2</a></li>
<li><a href=”#news3″>News link 3</a></li>
</ul>
</li>
</ul>
<ul>
<li>
<a href=”#donate”>Donate</a>
</li>
</ul>
<ul>
<li>
<a href=”#contact”>Contact</a>
</li>
</ul>
<!– end mainmenu –></div>
<!– end wrapper –></div>

One Response to CSS dropdown menu

  1. Mulberry bag says:

    Grateful to the author’s share. Interesting things – hope you can pst anthor things for this have a nice day :)