CSS3 animated menu tutorial. This is our eighth CSS3 menu. Today we will make interesting animated menu using CSS3. This menu will have 2 levels. By default – we can see single small top menu element. When we will hover our mouse over this element – first level elements will appear, when we will hover mouse over these elements – will appear submenus. So, lets start !
This is our final result (how menu will looks):

Here are samples and downloadable package:
[sociallocker]
[/sociallocker]
Ok, download our package and lets start creating this menu!
Step 1. HTML
Here are html source code of our menu.
index.html
04 | <link rel="stylesheet" href="css/style.css" type="text/css" media="all"> |
05 | <title>CSS3 animated menu #8 | Script tutorials</title> |
11 | <li id="n1"><a href="#"><img src="images/btn.png" alt="" /><span>Menu1</span></a> |
14 | <li class="l"><a href="#"><img src="images/btn.png" alt="" /><span>Menu11</span></a></li> |
15 | <li class="c"><a href="#"><img src="images/btn.png" alt="" /><span>Menu12</span></a></li> |
16 | <li class="r"><a href="#"><img src="images/btn.png" alt="" /><span>Menu13</span></a></li> |
19 | <li id="n2"><a href="#"><img src="images/btn.png" alt="" /><span>Menu2</span></a> |
21 | <li class="l"><a href="#"><img src="images/btn.png" alt="" /><span>Menu21</span></a></li> |
22 | <li class="c"><a href="#"><img src="images/btn.png" alt="" /><span>Menu22</span></a></li> |
23 | <li class="r"><a href="#"><img src="images/btn.png" alt="" /><span>Menu23</span></a></li> |
26 | <li id="n3"><a href="#"><img src="images/btn.png" alt="" /><span>Menu3</span></a> |
28 | <li class="l"><a href="#"><img src="images/btn.png" alt="" /><span>Menu31</span></a></li> |
29 | <li class="c"><a href="#"><img src="images/btn.png" alt="" /><span>Menu31</span></a></li> |
30 | <li class="r"><a href="#"><img src="images/btn.png" alt="" /><span>Menu31</span></a></li> |
33 | <li id="n4"><a href="#"><img src="images/btn.png" alt="" /><span>Menu4</span></a> |
35 | <li class="l"><a href="#"><img src="images/btn.png" alt="" /><span>Menu41</span></a></li> |
36 | <li class="c"><a href="#"><img src="images/btn.png" alt="" /><span>Menu41</span></a></li> |
37 | <li class="r"><a href="#"><img src="images/btn.png" alt="" /><span>Menu41</span></a></li> |
43 | <div style="clear:both"></div> |
Step 2. CSS
Here are used CSS styles. First two selectors (you can skip it) belong to our demo page. All rest – menu #8 styles.
css/style.css
006 | font-family: Helvetica,Arial,sans-serif; |
011 | background:url("../images/background.jpg") no-repeat scroll center center #fff; |
014 | border:1px #000 solid; |
018 | -moz-border-radius:3px; |
019 | -webkit-border-radius:3px; |
037 | -moz-transition: -moz-transform 0.5s ease-in-out; |
038 | -ms-transition: -ms-transform 0.5s ease-in-out; |
039 | -o-transition: -o-transform 0.5s ease-in-out; |
040 | -webkit-transition: -webkit-transform 0.5s ease-in-out; |
041 | transition: transform 0.5s ease-in-out; |
052 | text-decoration:none; |
068 | ul.navi:hover li#n1 { |
069 | -moz-transform: translatex(0px); |
070 | -ms-transform: translatex(0px); |
071 | -o-transform: translatex(0px); |
072 | -webkit-transform: translatex(0px); |
073 | transform: translatex(0px); |
075 | ul.navi:hover li#n2 { |
076 | -moz-transform: translatex(70px); |
077 | -ms-transform: translatex(70px); |
078 | -o-transform: translatex(70px); |
079 | -webkit-transform: translatex(70px); |
080 | transform: translatex(70px); |
082 | ul.navi:hover li#n3 { |
083 | -moz-transform: translatex(140px); |
084 | -ms-transform: translatex(140px); |
085 | -o-transform: translatex(140px); |
086 | -webkit-transform: translatex(140px); |
087 | transform: translatex(140px); |
089 | ul.navi:hover li#n4 { |
090 | -moz-transform: translatex(210px); |
091 | -ms-transform: translatex(210px); |
092 | -o-transform: translatex(210px); |
093 | -webkit-transform: translatex(210px); |
094 | transform: translatex(210px); |
096 | ul.navi:hover li#n5 { |
097 | -moz-transform: translatex(280px); |
098 | -ms-transform: translatex(280px); |
099 | -o-transform: translatex(280px); |
100 | -webkit-transform: translatex(280px); |
101 | transform: translatex(280px); |
115 | -moz-transition: opacity 0s linear 1s; |
116 | -ms-transition: opacity 0s linear 1s; |
117 | -o-transition: opacity 0s linear 1s; |
118 | -webkit-transition: opacity 0s linear 1s; |
119 | transition: opacity 0s linear 1s; |
128 | -moz-transition: -moz-transform 0.5s ease-in-out 0.5s; |
129 | -ms-transition: -ms-transform 0.5s ease-in-out 0.5s; |
130 | -o-transition: -o-transform 0.5s ease-in-out 0.5s; |
131 | -webkit-transition: -webkit-transform 0.5s ease-in-out 0.5s; |
132 | transition: transform 0.5s ease-in-out 0.5s; |
135 | ul.navi > li:hover ul { |
137 | -moz-transition: opacity 0s linear 0.5s; |
138 | -ms-transition: opacity 0s linear 0.5s; |
139 | -o-transition: opacity 0s linear 0.5s; |
140 | -webkit-transition: opacity 0s linear 0.5s; |
141 | transition: opacity 0s linear 0.5s; |
143 | ul.navi li:hover ul li.l { |
144 | -moz-transform: translatex(-70px) translatey(60px); |
145 | -ms-transform: translatex(-70px) translatey(60px); |
146 | -o-transform: translatex(-70px) translatey(60px); |
147 | -webkit-transform: translatex(-70px) translatey(60px); |
148 | transform: translatex(-70px) translatey(60px); |
150 | ul.navi li:hover ul li.c { |
151 | -moz-transform: translatey(60px); |
152 | -ms-transform: translatey(60px); |
153 | -o-transform: translatey(60px); |
154 | -webkit-transform: translatey(60px); |
155 | transform: translatey(60px); |
157 | ul.navi li:hover ul li.r { |
158 | -moz-transform: translatex(70px) translatey(60px); |
159 | -ms-transform: translatex(70px) translatey(60px); |
160 | -o-transform: translatex(70px) translatey(60px); |
161 | -webkit-transform: translatex(70px) translatey(60px); |
162 | transform: translatex(70px) translatey(60px); |
Step 3. Images
Few images – background of our demo and button icon:
Conclusion
Today we made new unique menu. Your comments and thanks are very welcomed. Good luck!