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.

Products

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.

ChatAenean interdum interdum nisi, sit amet elementum metus tempus eget.

New TuxVivamus massa odio, posuere at bibendum id, accumsan vitae lorem.

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.



Please Support CSS play

Please note that if your donation is for a demo/menu then you will need to email me with the url of the demo/menu after making the donation

For more CSS demonstrations I recommend that you visit the Dynamic Drive CSS Library.


Free, practical CSS menus, layouts, and examples

Follow CSS play


Facebook   Twitter   Facebook Fan Page