CSS dropdown menu without javascripting or hacks
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.
Example:
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 class="wrapper">
<div class="mainmenu">
<ul class="menu">
<li class="list">
<a class="category" href="#Home">Home</a>
</li>
</ul>
<ul class="menu">
<li class="list">
<a class="category" href="#about">About Us »</a>
<ul class="submenu">
<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 class="endlist" href="#about5">About link 5</a></li>
</ul>
</li>
</ul>
<ul class="menu">
<li class="list">
<a class="category" href="#articles">Articles »</a>
<ul class="submenu">
<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 class="endlist" href="#articles4">Articles link 4</a></li>
</ul>
</li>
</ul>
<ul class="menu">
<li class="list">
<a class="category" href="#news">News »</a>
<ul class="submenu">
<li><a href="#news1">News link 1</a></li>
<li><a href="#news2">News link 2</a></li>
<li><a class="endlist" href="#news3">News link 3</a></li>
</ul>
</li>
</ul>
<ul class="menu">
<li class="list">
<a class="category" href="#donate">Donate</a>
</li>
</ul>
<ul class="menu">
<li class="list">
<a class="category" href="#contact">Contact</a>
</li>
</ul>
<!-- end mainmenu --></div>
<!-- end wrapper --></div>
Comments
1. can I pls have this code, I am a newbie in CSS, thanks a bunchby tony
by madhavan ma
I couldn't get it working. I put
the code and then finished it with
It didn't work. Could you help me please or suggest if I am doing something wrong please.
by Sandra
by goldlilys
by Mike
by goldlilys
That looks great and i will be able to use it. But, is there an easy way, without writting code, to make a tabbed panel, with 8 tabs like you can do in dreamweaver, for frontpage? i made one in dreamweaver, then copied the code into FP, but it didn't come up right. i also tried using css tab program and got the same results. This would be a great help for my site. thank you.
by Mark
by Azrael
by udon2u
by simco
I am having the same problem. Did you find a fix?
by jon
by Deepak+Rajpal
Whatever I am doing wrong has got to be really, really simple. But I can't figure out what it is.
So, once I have a list how the h*** do I get the d*** thing to work in a real, life page?
If possible, please give simple clear directions for EVERY step that any idiot could follow. And remember, you're not dealing with just any idiot. I've been beating my head against this minor problem for days.
Thanks.
by LJS
by vectshare
by Amy
by sandeep
by proxy
by Charlie Kalech
by shivani
by HEMENDER JHA
by mohit
by Marjo
by sahil
by fandi
by kathayatnk
by Abhishek Kumar
by Tiffany