/* * Menu Effects: A collection of CSS3 menu effects (degrades gracefully in IE8). * * Don't hesitate to create new effects and remove the ones you don't need. * * latest version and complete README available on Github: * https://github.com/louisremi/menu-effects * * Copyright 2012 @louis_remi * Licensed under the MIT license. * * Are you using this in a paid work? * Send me music http://www.amazon.co.uk/wishlist/HNTU0468LQON * */ .menu, .menu ul { list-style: none; padding: 0; } .menu ul { margin: 0; } .menu > li { position: relative; display: inline-block; outline: 0; } .submenu { position: absolute; left: 0; top: 100%; z-index: 0; overflow: hidden; /* IE8 needs this */ overflow: hidden\0/ !important; max-height: 0; /* A .submenu should be only revealed when hovering the .menu */ pointer-events: none; } .menu > li .submenu, .menu > li .submenu { pointer-events: auto; z-index: 10; max-height: 2000px; -webkit-transition: none; -moz-transition: none; } /* Default ================================================================= */ .submenu li { opacity: 0; -webkit-transition: opacity .4s, -webkit-transform .6s, max-height .6s; -moz-transition: opacity .4s, -moz-transform .6s, max-height .6s; -ms-transition: opacity .4s, -ms-transform .6s, max-height .6s; -o-transition: opacity .4s, -o-transform .6s, max-height .6s; transition: opacity .4s, transform .6s, max-height .6s; } .menu > li .submenu li, .menu > li .submenu li { opacity: 1; -webkit-transform: none; -moz-transform: none; -ms-transform: none; -o-transform: none; transform: none; } /* Bounce ================================================================= */ .bounce { overflow: visible; } .bounce li { -webkit-transform: translateX(-40%); -moz-transform: translateX(-40%); -ms-transform: translateX(-40%); -o-transform: translateX(-40%); transform: translateX(-40%); -webkit-transition-timing-function: cubic-bezier(0, .35, .5, 1.7); -moz-transition-timing-function: cubic-bezier(0, .35, .5, 1.7); -ms-transition-timing-function: cubic-bezier(0, .35, .5, 1.7); -o-transition-timing-function: cubic-bezier(0, .35, .5, 1.7); transition-timing-function: cubic-bezier(0, .35, .5, 1.7); } /* Radial ================================================================= */ .radial li { -webkit-transform: translateY(-120px) rotate(70deg); -moz-transform: translateY(-120px) rotate(70deg); -ms-transform: translateY(-120px) rotate(70deg); -o-transform: translateY(-120px) rotate(70deg); transform: translateY(-120px) rotate(70deg); -webkit-transform-origin: 0 0; -moz-transform-origin: 0 0; -ms-transform-origin: 0 0; -o-transform-origin: 0 0; transform-origin: 0 0; } /* Winding ================================================================= */ .winding { -webkit-perspective: 400px; -moz-perspective: 400px; -ms-perspective: 400px; -o-perspective: 400px; perspective: 400px; } .winding li { -webkit-transform: rotateY(90deg); -moz-transform: rotateY(90deg); -ms-transform: rotateY(90deg); -o-transform: rotateY(90deg); transform: rotateY(90deg); -webkit-transform-origin: 0 0; -moz-transform-origin: 0 0; -ms-transform-origin: 0 0; -o-transform-origin: 0 0; transform-origin: 0 0; } /* Shield ================================================================= */ .shield { overflow: visible; -webkit-perspective: 400px; -moz-perspective: 400px; -ms-perspective: 400px; -o-perspective: 400px; perspective: 400px; } .shield li { -webkit-transform: rotateX(90deg); -moz-transform: rotateX(90deg); -ms-transform: rotateX(90deg); -o-transform: rotateX(90deg); transform: rotateX(90deg); -webkit-transform-origin: 0 0; -moz-transform-origin: 0 0; -ms-transform-origin: 0 0; -o-transform-origin: 0 0; transform-origin: 0 0; -webkit-transition-timing-function: cubic-bezier(0, .35, .5, 1.7); -moz-transition-timing-function: cubic-bezier(0, .35, .5, 1.7); -ms-transition-timing-function: cubic-bezier(0, .35, .5, 1.7); -o-transition-timing-function: cubic-bezier(0, .35, .5, 1.7); transition-timing-function: cubic-bezier(0, .35, .5, 1.7); } /* Pop ================================================================= */ .pop { overflow: visible; } .pop li { -webkit-transform: scale(.2); -moz-transform: scale(.2); -ms-transform: translateX(-80%); -o-transform: translateX(-80%); transform: translateX(-80%); -webkit-transition-timing-function: cubic-bezier(0, .35, .5, 1.5); -moz-transition-timing-function: cubic-bezier(0, .35, .5, 1.5); -ms-transition-timing-function: cubic-bezier(0, .35, .5, 1.5); -o-transition-timing-function: cubic-bezier(0, .35, .5, 1.5); transition-timing-function: cubic-bezier(0, .35, .5, 1.5); } /* Helix ================================================================= */ .helix { -webkit-perspective: 400px; -moz-perspective: 400px; -ms-perspective: 400px; -o-perspective: 400px; perspective: 400px; } .helix li { -webkit-transform: rotateY(90deg); -moz-transform: rotateY(90deg); -ms-transform: rotateY(90deg); -o-transform: rotateY(90deg); transform: rotateY(90deg); } /* Wave ================================================================= */ .wave li { -webkit-transform-origin: 0% 0%; -moz-transform-origin: 0% 0%; -ms-transform-origin: 0% 0%; -o-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: skewY(-90deg); -moz-transform: skewY(-90deg); -ms-transform: skewY(-90deg); -o-transform: skewY(-90deg); transform: skewY(-90deg); } /* Fan ================================================================= */ .fan li { -webkit-transform-origin: 0% 0%; -moz-transform-origin: 0% 0%; -ms-transform-origin: 0% 0%; -o-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); } /* Papercut ================================================================= */ .papercut { -webkit-perspective: 600px; -moz-perspective: 600px; -ms-perspective: 600px; -o-perspective: 600px; perspective: 600px; -webkit-perspective-origin: 0% 0%; -moz-perspective-origin: 0% 0%; -ms-perspective-origin: 0% 0%; -o-perspective-origin: 0% 0%; perspective-origin: 0% 0%; } .papercut li { -webkit-transform-origin: 0% 0%; -moz-transform-origin: 0% 0%; -ms-transform-origin: 0% 0%; -o-transform-origin: 0% 0%; transform-origin: 0% 0%; -webkit-transform: skewY(30deg); -moz-transform: skewY(30deg); -ms-transform: skewY(30deg); -o-transform: skewY(30deg); transform: skewY(30deg); } /* Fly ================================================================= */ .fly { -webkit-perspective: 400px; -moz-perspective: 400px; -ms-perspective: 400px; -o-perspective: 400px; perspective: 400px; } .fly li { -webkit-transform-origin: 50% 50% -50px; -moz-transform-origin: 50% 50% -50px; -ms-transform-origin: 50% 50% -50px; -o-transform-origin: 50% 50% -50px; transform-origin: 50% 50% -50px; -webkit-transform: rotateX( -180deg ); -moz-transform: rotateX( -180deg ); -ms-transform: rotateX( -180deg ); -o-transform: rotateX( -180deg ); transform: rotateX( -180deg ); } /* Blind ================================================================= */ .blind li { max-height: 0; } .menu > li:hover .blind li, .menu > li:focus .blind li { /* This should be changed to the normal height of list-items */ max-height: 30px; } /* Venitian ================================================================= */ .venitian li { -webkit-transform-origin: 50% 0; -moz-transform-origin: 50% 0; -ms-transform-origin: 50% 0; -o-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scale(1,0); -moz-transform: scale(1,0); -ms-transform: scale(1,0); -o-transform: scale(1,0); transform: scale(1,0); } /* Jaws ================================================================= */ .jaws li { -webkit-transform-origin: 50% -100px; -moz-transform-origin: 50% -100px; -ms-transform-origin: 50% -100px; -o-transform-origin: 50% -100px; transform-origin: 50% -100px; } .jaws li:nth-child(odd) { -webkit-transform: rotate(90deg); -moz-transform: rotate(90deg); -ms-transform: rotate(90deg); -o-transform: rotate(90deg); transform: rotate(90deg); } .jaws li:nth-child(even) { -webkit-transform: rotate(-90deg); -moz-transform: rotate(-90deg); -ms-transform: rotate(-90deg); -o-transform: rotate(-90deg); transform: rotate(-90deg); } /* Fence ================================================================= */ .fence { -webkit-perspective: 600px; -moz-perspective: 600px; -ms-perspective: 600px; -o-perspective: 600px; perspective: 600px; } .fence li:nth-child(odd) { -webkit-transform-origin: 0 50%; -moz-transform-origin: 0 50%; -ms-transform-origin: 0 50%; -o-transform-origin: 0 50%; transform-origin: 0 50%; -webkit-transform: rotateY(90deg); -moz-transform: rotateY(90deg); -ms-transform: rotateY(90deg); -o-transform: rotateY(90deg); transform: rotateY(90deg); } .fence li:nth-child(even) { -webkit-transform-origin: 100% 50%; -moz-transform-origin: 100% 50%; -ms-transform-origin: 100% 50%; -o-transform-origin: 100% 50%; transform-origin: 100% 50%; -webkit-transform: rotateY(-90deg); -moz-transform: rotateY(-90deg); -ms-transform: rotateY(-90deg); -o-transform: rotateY(-90deg); transform: rotateY(-90deg); } /* Zipper ================================================================= */ .zipper li:nth-child(odd) { -webkit-transform: translateX(-100%); -moz-transform: translateX(-100%); -ms-transform: translateX(-100%); -o-transform: translateX(-100%); transform: translateX(-100%); } .zipper li:nth-child(even) { -webkit-transform: translateX(100%); -moz-transform: translateX(100%); -ms-transform: translateX(100%); -o-transform: translateX(100%); transform: translateX(100%); }