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):

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 top, left 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!







