https://www.script-tutorials.com/click-action-multilevel-css3-dropdown-menu/
Step 1. HTML
As usual, we start with the HTML.
Here are full html code with our menu. As you can see – this is multi-level menu. I hope that you can easy to understand it. Whole menu built on UL-LI elements.
index.html
<link rel="stylesheet" href="css/style.css" type="text/css" media="screen">
<div class="example">
<ul id="nav">
<li><a href="https://www.script-tutorials.com/">Home</a></li>
<li><a class="fly" href="#" tabindex="1">Tutorials</a>
<ul class="dd">
<li><a href="https://www.script-tutorials.com/category/html-css/">HTML / CSS</a></li>
<li><a class="fly" href="#" tabindex="1">JS / jQuery</a>
<ul>
<li><a href="https://www.script-tutorials.com/category/jquery/">jQuery</a></li>
<li><a href="https://www.script-tutorials.com/category/javascript/">JS</a></li>
</ul>
</li>
<li><a href="https://www.script-tutorials.com/category/php/">PHP</a></li>
<li><a href="https://www.script-tutorials.com/category/mysql/">MySQL</a></li>
<li><a href="https://www.script-tutorials.com/category/xslt/">XSLT</a></li>
<li><a href="https://www.script-tutorials.com/category/ajax/">Ajax</a></li>
</ul>
</li>
<li><a class="fly" href="#" tabindex="1">Resources</a>
<ul class="dd">
<li><a class="fly" href="#" tabindex="1">By category</a>
<ul>
<li><a href="https://www.script-tutorials.com/category/php/">PHP</a></li>
<li><a href="https://www.script-tutorials.com/category/mysql/">MySQL</a></li>
<li><a class="fly" href="#" tabindex="1">Menu1</a>
<ul>
<li><a href="#">Menu1</a></li>
<li><a href="#">Menu2</a></li>
<li><a class="fly" href="#" tabindex="1">Menu3</a>
<ul>
<li><a href="#">Menu31</a></li>
<li><a href="#">Menu32</a></li>
<li><a href="#">Menu33</a></li>
<li><a href="#">Menu34</a></li>
</ul>
</li>
<li><a href="#">Menu4</a></li>
</ul>
</li>
<li><a href="https://www.script-tutorials.com/category/ajax/">Ajax</a></li>
</ul>
</li>
<li><a class="fly" href="#" tabindex="1">By tag name</a>
<ul>
<li><a href="https://www.script-tutorials.com/tag/captcha/">captcha</a></li>
<li><a href="https://www.script-tutorials.com/tag/gallery/">gallery</a></li>
<li><a href="https://www.script-tutorials.com/tag/animation/">animation</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="https://www.script-tutorials.com/about/">About</a></li>
<li><a href="https://www.script-tutorials.com/click-action-multilevel-css3-dropdown-menu/">Go Back To The Tutorial</a></li>
</ul>
</div>
Step 2. CSS
Here are used CSS styles. First two selectors – layout of our demo page. All rest – belong to menu.
css/style.css
/* demo page styles */
body {
background:#eee;
margin:0;
padding:0;
}
.example {
background:#fff url(../images/tech.jpg);
770px;
height:570px;
border:1px #000 solid;
margin:20px auto;
padding:15px;
border-radius:3px;
-moz-border-radius:3px;
-webkit-border-radius:3px;
}
/* main menu styles */
#nav,#nav ul {
background-image:url(../images/tr75.png);
list-style:none;
margin:0;
padding:0;
}
#nav {
height:41px;
padding-left:5px;
padding-top:5px;
position:relative;
z-index:2;
}
#nav ul {
left:-9999px;
position:absolute;
top:37px;
auto;
}
#nav ul ul {
left:-9999px;
position:absolute;
top:0;
auto;
}
#nav li {
float:left;
margin-right:5px;
position:relative;
}
#nav li a {
background:#c1c1bf;
color:#000;
display:block;
float:left;
font-size:16px;
padding:8px 10px;
text-decoration:none;
}
#nav > li > a {
-moz-border-radius:6px;
-webkit-border-radius:6px;
-o-border-radius:6px;
border-radius:6px;
overflow:hidden;
}
#nav li a.fly {
background:#c1c1bf url(../images/arrow.gif) no-repeat right center;
padding-right:15px;
}
#nav ul li {
margin:0;
}
#nav ul li a {
120px;
}
#nav ul li a.fly {
padding-right:10px;
}
/*hover styles*/
#nav li:hover > a {
background-color:#858180;
color:#fff;
}
/*focus styles*/
#nav li a:focus {
outline-0;
}
/*popups*/
#nav li a:active + ul.dd,#nav li a:focus + ul.dd,#nav li ul.dd:hover {
left:0;
}
#nav ul.dd li a:active + ul,#nav ul.dd li a:focus + ul,#nav ul.dd li ul:hover {
left:140px;
}
Step 3. Images
Our menu using only three images: arrow.gif, tech.jpg and tr75.png. I don`t included them into tutorial, just because two of them very small (will difficult to locate it) and last one – just background image. All images will in package.