CSS3 3D unfolding menu - NO javascript
3rd April 2012
For Firefox, Chrome and Safari
6th February 2013
For IE10, Firefox, Chrome, Safari and iPad etc.

Anti VirusLorem ipsum dolor sit amet, consectetur adipiscing elit. Sed metus diam, tristique.

PenguinVestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia.

My MacAenean consectetur mi vel ante congue congue. Integer at augue quam.
copyright © stu nicholls - CSS play
Information
Now that Firefox supports the 3D transform styles we can use this and a little transition animation to create a dropdown menu with an unfolding sub menu.
This menu has 3D unfolding sub list with animation. Just hover the top level link to see this in Firefox, Safari and Chrome.
If you examine the code you will see that it uses nothing more than a set of nested divs and a simple structure to the stylesheet to give each div a transform origin relative to its parent div. In this way the parent divs controls the position and animation of their children.
Using this method the animation is just a simple style which is actioned on hovering the top level tab:
.concertina:hover div {
-webkit-transform:perspective(350px) rotateX(0deg);
-o-transform:perspective(350px) rotateX(0deg);
transform: perspective(350px) rotateX(0deg);
}
6th February 2013
Code and stylesheet changed to remove the need for the style preserver-3d so that the menu works in IE10. Also added 'onclick=""' to the page outer div so that it also works on the ipad etc. and finally added alternative fallback styles so that this works as a simple dropdown menu in IE9 and lower and also Opera which does not yet support 3d transforms.
Copyright
You may use this method on your personal 'non-profit' web site without seeking my permission. A link back to CSSplay is always appreciated.
Commercial usage is also permitted without seeking approval, but I would ask that a donation is considered to support my work on CSSPlay.
If you are having problems integrating any of my demonstrations into your website then I now offer a service to fault find and correct any errors that you may have introduced. Please email me for more information.






