Creating a Multilevel CSS3 Metal Navigation with icons

Tutorials

CSS3 Metal menu with icons. In our new tutorial we’ll create a beautiful CSS3 menu with icons in metal style. This is will pretty standard UL-LI multilevel menu.

 


Here are final result (what we will creating):

css3 menu11

Here are samples and downloadable package:

Live Demo

[sociallocker]

download in package

[/sociallocker]


Ok, download the example files and lets start coding !


Step 1. HTML

As usual, we start with the HTML. Here are full html code of our menu. As you can see – this is multilevel menu. Whole menu built on UL-LI elements.

index.html

01 <!DOCTYPE html>
02 <html lang="en" >
03     <head>
04         <meta charset="utf-8" />
05         <title>CSS3 Metal menu with icons | Script Tutorials</title>
06         <link rel="stylesheet" href="css/layout.css" type="text/css" media="screen">
07         <link rel="stylesheet" href="css/menu.css" type="text/css" media="screen">
08     </head>
09     <body>
10         <div class="container">
11             <ul id="nav">
12                 <li><a href="#"><img src="images/home.png" /> Home</a></li>
13                 <li><a href="#"><span><img src="images/top1.png" /> HTML/CSS</span></a>
14                     <div class="subs">
15                         <div class="col">
16                             <ul>
17                                 <li><a href="#"><img src="images/bub.png" /> Link 1</a></li>
18                                 <li><a href="#"><img src="images/bub.png" /> Link 2</a></li>
19                                 <li><a href="#"><img src="images/bub.png" /> Link 3</a></li>
20                                 <li><a href="#"><img src="images/bub.png" /> Link 4</a></li>
21                                 <li><a href="#"><span><img src="images/top3.png" /> Sublinks</span></a>
22                                     <div class="subs">
23                                         <div class="col">
24                                             <ul>
25                                                 <li><a href="#"><img src="images/bub.png" /> Link 41</a></li>
26                                                 <li><a href="#"><img src="images/bub.png" /> Link 42</a></li>
27                                                 <li><a href="#"><img src="images/bub.png" /> Link 43</a></li>
28                                                 <li><a href="#"><img src="images/bub.png" /> Link 44</a></li>
29                                                 <li><a href="#"><img src="images/bub.png" /> Link 45</a></li>
30                                             </ul>
31                                         </div>
32                                         <div class="col">
33                                             <ul>
34                                                 <li><a href="#"><img src="images/bub.png" /> Link 46</a></li>
35                                                 <li><a href="#"><img src="images/bub.png" /> Link 47</a></li>
36                                                 <li><a href="#"><img src="images/bub.png" /> Link 48</a></li>
37                                                 <li><a href="#"><img src="images/bub.png" /> Link 49</a></li>
38                                             </ul>
39                                         </div>
40                                     </div>
41                                 </li>
42                             </ul>
43                         </div>
44                         <div class="col">
45                             <ul>
46                                 <li><a href="#"><img src="images/bub.png" /> Link 6</a></li>
47                                 <li><a href="#"><img src="images/bub.png" /> Link 7</a></li>
48                                 <li><a href="#"><img src="images/bub.png" /> Link 8</a></li>
49                                 <li><a href="#"><img src="images/bub.png" /> Link 9</a></li>
50                                 <li><a href="#"><img src="images/bub.png" /> Link 10</a></li>
51                             </ul>
52                         </div>
53                     </div>
54                 </li>
55                 <li><a href="#"><span><img src="images/top2.png" /> jQuery/JS</span></a>
56                     <div class="subs">
57                         <div class="col">
58                             <ul>
59                                 <li><a href="#"><img src="images/bub.png" /> Link 1</a></li>
60                                 <li><a href="#"><img src="images/bub.png" /> Link 2</a></li>
61                                 <li><a href="#"><img src="images/bub.png" /> Link 3</a></li>
62                                 <li><a href="#"><img src="images/bub.png" /> Link 4</a></li>
63                                 <li><a href="#"><img src="images/bub.png" /> Link 5</a></li>
64                             </ul>
65                         </div>
66                         <div class="col">
67                             <ul>
68                                 <li><a href="#"><img src="images/bub.png" /> Link 6</a></li>
69                                 <li><a href="#"><img src="images/bub.png" /> Link 7</a></li>
70                                 <li><a href="#"><img src="images/bub.png" /> Link 8</a></li>
71                                 <li><a href="#"><img src="images/bub.png" /> Link 9</a></li>
72                                 <li><a href="#"><img src="images/bub.png" /> Link 10</a></li>
73                             </ul>
74                         </div>
75                     </div>
76                 </li>
77                 <li><a href="#"><img src="images/top3.png" /> PHP</a></li>
78                 <li><a href="#"><img src="images/top4.png" /> MySQL</a></li>
79                 <li><a href="#"><img src="images/top5.png" /> XSLT</a></li>
80             </ul>
81         </div>
82         <footer>
83             <h2>CSS3 Metal menu with icons</h2>
84             <a href="https://www.script-tutorials.com/css3-metal-menu-with-icons" class="stuts">Back to original tutorial on <span>Script Tutorials</span></a>
85         </footer>
86     </body>
87 </html>

Step 2. CSS

Here are the CSS styles of our menu. Maybe you’ve noticed – that in our html – I have two CSS files: layout.css and menu.css. The first file (layout.css) contain the styles of our test page. We will not publish these styles in this article, but if you wish – you can find these styles in the package.

css/menu.css

001 ul#nav {
002     display:block;
003     float:left;
004     font-family:Trebuchet MS,sans-serif;
005     font-size:0;
006     padding:5px 5px 5px 0;
007     background: -moz-linear-gradient(#f5f5f5#c4c4c4); /* FF 3.6+ */
008     background: -ms-linear-gradient(#f5f5f5#c4c4c4); /* IE10 */
009     background: -webkit-gradient(linear, left topleft bottom, color-stop(0%#f5f5f5), color-stop(100%#c4c4c4)); /* Safari 4+, Chrome 2+ */
010     background: -webkit-linear-gradient(#f5f5f5#c4c4c4); /* Safari 5.1+, Chrome 10+ */
011     background: -o-linear-gradient(#f5f5f5#c4c4c4); /* Opera 11.10 */
012     filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#c4c4c4'); /* IE6 & IE7 */
013     -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr='#f5f5f5', endColorstr='#c4c4c4')"/* IE8+ */
014     background: linear-gradient(#f5f5f5#c4c4c4); /* the standard */
015 }
016 ul#nav,ul#nav ul {
017     list-style:none;
018     margin:0;
019 }
020 ul#nav,ul#nav .subs {
021     background-color:#444;
022     border:1px solid #454545;
023     border-radius:9px;
024     -moz-border-radius:9px;
025     -webkit-border-radius:9px;
026 }
027 ul#nav .subs {
028     background-color:#fff;
029     border:2px solid #222;
030     display:none;
031     float:left;
032     left:0;
033     padding:0 6px 6px;
034     position:absolute;
035     top:100%;
036     width:300px;
037     border-radius:7px;
038     -moz-border-radius:7px;
039     -webkit-border-radius:7px;
040 }
041 ul#nav li:hover>* {
042     display:block;
043 }
044 ul#nav li:hover {
045     position:relative;
046 }
047 ul#nav ul .subs {
048     left:100%;
049     position:absolute;
050     top:0;
051 }
052 ul#nav ul {
053     padding:0 5px 5px;
054 }
055 ul#nav .col {
056     float:left;
057     width:50%;
058 }
059 ul#nav li {
060     display:block;
061     float:left;
062     font-size:0;
063     white-space:nowrap;
064 }
065 ul#nav>li,ul#nav li {
066     margin:0 0 0 5px;
067 }
068 ul#nav ul>li {
069     margin:5px 0 0;
070 }
071 ul#nav a:active,ul#nav a:focus {
072     outline-style:none;
073 }
074 ul#nav a {
075     border-style:none;
076     border-width:0;
077     color:#181818;
078     cursor:pointer;
079     display:block;
080     font-size:13px;
081     font-weight:bold;
082     padding:8px 18px;
083     text-align:left;
084     text-decoration:none;
085     text-shadow:#fff 0 1px 1px;
086     vertical-align:middle;
087 }
088 ul#nav ul li {
089     float:none;
090     margin:6px 0 0;
091 }
092 ul#nav ul a {
093     background-color:#fff;
094     border-color:#efefef;
095     border-style:solid;
096     border-width:0 0 1px;
097     color:#000;
098     font-size:11px;
099     padding:4px;
100     text-align:left;
101     text-decoration:none;
102     text-shadow:#fff 0 0 0;
103     border-radius:0;
104     -moz-border-radius:0;
105     -webkit-border-radius:0;
106 }
107 ul#nav li:hover>a {
108     border-style:none;
109     color:#fff;
110     font-size:13px;
111     font-weight:bold;
112     text-decoration:none;
113     text-shadow:#181818 0 1px 1px;
114 }
115 ul#nav img {
116     border:none;
117     margin-right:8px;
118     vertical-align:middle;
119 }
120 ul#nav span {
121     background-position:right center;
122     background-repeat:no-repeat;
123     display:block;
124     overflow:visible;
125     padding-right:0;
126 }
127 ul#nav ul span {
128     background-image:url("../images/arrow.png");
129     padding-right:20px;
130 }
131 ul#nav ul li:hover>a {
132     border-color:#444;
133     border-style:solid;
134     color:#444;
135     font-size:11px;
136     text-decoration:none;
137     text-shadow:#fff 0 0 0;
138 }
139 ul#nav > li >a {
140     background-color:transpa;
141     height:25px;
142     line-height:25px;
143     border-radius:11px;
144     -moz-border-radius:11px;
145     -webkit-border-radius:11px;
146 }
147 ul#nav > li:hover > a {
148     background-color:#313638;
149     line-height:25px;
150 }

Live Demo

Conclusion

Hope you enjoyed with new menu, don’t forget to tell thanks and leave a comment 🙂 Good luck!

Rate article