Burgers and whatnot.
A Pen by Andrzej Dubiel on CodePen.
| <div class="container"> | |
| <h1>Responsive Navigation Ideas</h1> | |
| <!-- Style #1 --> | |
| <div class="iphone style-1"> | |
| <div class="iphone__item">#1</div> | |
| <div class="iphone__power-btn"></div> | |
| <div class="iphone__left-btn"></div> | |
| <div class="iphone__details"></div> | |
| <div class="iphone__screen"> | |
| <a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
| <nav class="nav"> | |
| <ul class="nav__list"> | |
| <li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
| </ul> | |
| </nav> | |
| <div class="iphone__content"></div> | |
| </div> | |
| <div class="iphone__home-btn"></div> | |
| </div> | |
| <!-- /Style #1 --> | |
| <!-- Style #2 --> | |
| <div class="iphone style-2"> | |
| <div class="iphone__item">#2</div> | |
| <div class="iphone__power-btn"></div> | |
| <div class="iphone__left-btn"></div> | |
| <div class="iphone__details"></div> | |
| <div class="iphone__screen"> | |
| <a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
| <nav class="nav"> | |
| <ul class="nav__list"> | |
| <li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
| </ul> | |
| </nav> | |
| <div class="iphone__content"></div> | |
| </div> | |
| <div class="iphone__home-btn"></div> | |
| </div> | |
| <!-- /Style #2 --> | |
| <!-- Style #23--> | |
| <div class="iphone style-3"> | |
| <div class="iphone__item">#3</div> | |
| <div class="iphone__power-btn"></div> | |
| <div class="iphone__left-btn"></div> | |
| <div class="iphone__details"></div> | |
| <div class="iphone__screen"> | |
| <a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
| <nav class="nav"> | |
| <ul class="nav__list"> | |
| <li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
| </ul> | |
| </nav> | |
| <div class="iphone__content"></div> | |
| </div> | |
| <div class="iphone__home-btn"></div> | |
| </div> | |
| <!-- /Style #3 --> | |
| <!-- Style #4--> | |
| <div class="iphone style-4"> | |
| <div class="iphone__item">#4</div> | |
| <div class="iphone__power-btn"></div> | |
| <div class="iphone__left-btn"></div> | |
| <div class="iphone__details"></div> | |
| <div class="iphone__screen"> | |
| <a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
| <nav class="nav"> | |
| <ul class="nav__list"> | |
| <li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
| </ul> | |
| </nav> | |
| <div class="iphone__content"></div> | |
| </div> | |
| <div class="iphone__home-btn"></div> | |
| </div> | |
| <!-- /Style #4 --> | |
| <!-- Style #5--> | |
| <div class="iphone style-5"> | |
| <div class="iphone__item">#5</div> | |
| <div class="iphone__power-btn"></div> | |
| <div class="iphone__left-btn"></div> | |
| <div class="iphone__details"></div> | |
| <div class="iphone__screen"> | |
| <a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
| <nav class="nav"> | |
| <ul class="nav__list"> | |
| <li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
| </ul> | |
| </nav> | |
| <div class="iphone__content"></div> | |
| </div> | |
| <div class="iphone__home-btn"></div> | |
| </div> | |
| <!-- /Style #5 --> | |
| <!-- Style #6--> | |
| <div class="iphone style-6"> | |
| <div class="iphone__item">#6</div> | |
| <div class="iphone__power-btn"></div> | |
| <div class="iphone__left-btn"></div> | |
| <div class="iphone__details"></div> | |
| <div class="iphone__screen"> | |
| <a href="#" class="nav__trigger"><span class="nav__icon"></span></a> | |
| <nav class="nav"> | |
| <ul class="nav__list"> | |
| <li class="nav__item"><a class="nav__link" href="#">Home</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">About Us</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Portfolio</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Blog</a></li> | |
| <li class="nav__item"><a class="nav__link" href="#">Contact Us</a></li> | |
| </ul> | |
| </nav> | |
| <div class="iphone__content"></div> | |
| </div> | |
| <div class="iphone__home-btn"></div> | |
| </div> | |
| <!-- /Style #6 --> | |
| </div> |
| $('.nav__trigger').on('click', function(e){ | |
| e.preventDefault(); | |
| $(this).parent().toggleClass('nav--active'); | |
| }); |
| @main-bg: #1BBC9B; | |
| @nav-color: #FFFFFF; | |
| @nav-bg-active: #333; | |
| @screen-bg: #D2527F; | |
| @duration: 300ms; | |
| @ease: ease-in-out; | |
| /** | |
| * Demo Stuff | |
| */ | |
| body { | |
| background: @main-bg; | |
| font-family: 'Montserrat', sans-serif; | |
| } | |
| .container { | |
| text-align: center; | |
| } | |
| h1 { | |
| color: darken(@main-bg, 15%); | |
| font-weight:400; | |
| font-size:2em; | |
| margin:1em 0; | |
| } | |
| /** | |
| * iPhone | |
| * Credits: Flat, Scaleable CSS iPhone Illustration by Tom Hergenreter | |
| * http://codepen.io/TomHergenreter/details/qDywF/ | |
| */ | |
| .iphone { | |
| width: 16.06em; | |
| height: 30.6em; | |
| border-radius: 1.875em; | |
| margin: 2em; | |
| position: relative; | |
| display:inline-block; | |
| background: #fff; | |
| } | |
| .iphone__item { | |
| width: 16.06em; | |
| height:1em; | |
| position: absolute; | |
| bottom:-2em; | |
| color: darken(@main-bg, 10%); | |
| text-align: center; | |
| } | |
| .iphone__power-btn{ | |
| width: 2.188em; | |
| height: .188em; | |
| background: #e0e0e0; | |
| position: absolute; | |
| right: 2.5em; | |
| top: -.188em; | |
| } | |
| .iphone__left-btn { | |
| width: .188em; | |
| height: 1.250em; | |
| top: 3.250em; | |
| left: -.188em; | |
| position: absolute; | |
| background: #e0e0e0; | |
| &:before { | |
| content: ''; | |
| width: .188em; | |
| height: .875em; | |
| position: absolute; | |
| top: 3em; | |
| background: #e0e0e0; | |
| } | |
| &:after { | |
| content: ''; | |
| width: .188em; | |
| height: .875em; | |
| position: absolute; | |
| top: 5.5em; | |
| background: #e0e0e0; | |
| } | |
| } | |
| .iphone__details { | |
| width: .438em; | |
| height: .438em; | |
| border-radius: 100%; | |
| position: relative; | |
| top: 1.313em; | |
| left: 8em; | |
| background: #7c7c7c; | |
| &:before { | |
| content: ''; | |
| width: 2.5em; | |
| height: .25em; | |
| border-radius: .25em; | |
| position: absolute; | |
| top: 1em; | |
| left: -1em; | |
| background: #7c7c7c; | |
| } | |
| } | |
| .iphone__home-btn { | |
| width: 2.25em; | |
| height: 2.25em; | |
| border-radius: 100%; | |
| position: absolute; | |
| bottom: 1em; | |
| right: 6.75em; | |
| background: #f7f7f7; | |
| &:before { | |
| content: ''; | |
| width: .813em; | |
| height: .813em; | |
| border: .15em solid #a8a8a8; | |
| border-radius: .2em; | |
| position: absolute; | |
| top: .6em; | |
| left: .57em; | |
| } | |
| } | |
| .iphone__screen { | |
| width: 14.5em; | |
| height: 22.938em; | |
| position: absolute; | |
| top: 3.75em; | |
| left: .750em; | |
| overflow: hidden; | |
| } | |
| .iphone__content { | |
| position: relative; | |
| background-color: @screen-bg; | |
| width:100%; | |
| height:100%; | |
| } | |
| /** | |
| * Navigation Defaults | |
| */ | |
| .nav { | |
| position: absolute; | |
| z-index:100; | |
| opacity:0; | |
| transition-property: all; | |
| transition-duration: @duration; | |
| } | |
| .nav--active .nav { | |
| opacity:1; | |
| background-color: @nav-bg-active; | |
| } | |
| .nav__list { | |
| margin:0; | |
| padding:10px; | |
| } | |
| .nav__item { | |
| list-style-type: none; | |
| text-align: left; | |
| } | |
| .nav__link { | |
| font-size:1.3em; | |
| text-transform: uppercase; | |
| text-decoration: none; | |
| color: @nav-color; | |
| opacity:1; | |
| transition: opacity 300ms @ease; | |
| } | |
| /* Default navigation icon */ | |
| .nav__trigger { | |
| display:block; | |
| position:absolute; | |
| width:30px; | |
| height:25px; | |
| right:10px; | |
| top:10px; | |
| z-index:200; | |
| } | |
| .nav--active .nav__trigger { | |
| opacity:0.5; | |
| } | |
| .nav__icon { | |
| display:inline-block; | |
| position: relative; | |
| width:30px; | |
| height:5px; | |
| background-color: @nav-color; | |
| transition-property: background-color, transform; | |
| transition-duration: @duration; | |
| &:before, | |
| &:after { | |
| content:''; | |
| display:block; | |
| width:30px; | |
| height:5px; | |
| position: absolute; | |
| background: @nav-color; | |
| transition-property: margin, transform; | |
| transition-duration: @duration; | |
| } | |
| &:before { | |
| margin-top:-10px; | |
| } | |
| &:after { | |
| margin-top:10px; | |
| } | |
| } | |
| /* Don't nest if you don't have to. */ | |
| /** | |
| * Style #1 | |
| */ | |
| .style-1 { | |
| .nav { | |
| transform: translateX(-100%); | |
| width:100%; | |
| height:100%; | |
| } | |
| .nav__link { | |
| opacity:0; | |
| transition-delay:500ms; | |
| } | |
| .nav--active .nav__link { | |
| opacity:1; | |
| } | |
| .nav--active .nav { | |
| transition: all @duration @ease; | |
| transform: translateX(0); | |
| } | |
| .nav--active .nav__icon { | |
| background: rgba(0,0,0,0.0); | |
| &:before { | |
| margin-top:0; | |
| transform:rotate(45deg); | |
| } | |
| &:after { | |
| margin-top:0; | |
| transform:rotate(-45deg); | |
| } | |
| } | |
| } | |
| /** | |
| * Style #2 | |
| */ | |
| .style-2 { | |
| perspective:1000px; | |
| .nav { | |
| width:100%; | |
| height:100%; | |
| transform: rotateY(180deg); | |
| } | |
| .nav--active .nav { | |
| transform: rotateY(360deg); | |
| } | |
| .iphone__content { | |
| transform: rotateY(0); | |
| transform-style: preserve-3d; | |
| transition: all @duration @ease; | |
| } | |
| .nav--active .iphone__content { | |
| transform-style: preserve-3d; | |
| transform: rotateY(180deg); | |
| } | |
| .navi__icon { | |
| background: rgba(0,0,0,0.0); | |
| &:before { | |
| margin-top:0; | |
| transform:rotate(90deg); | |
| } | |
| &:after { | |
| margin-top:0; | |
| transform:rotate(180deg); | |
| } | |
| } | |
| .nav--active .nav__icon { | |
| background: rgba(0,0,0,0.0); | |
| transform:rotate(135deg); | |
| &:before { | |
| margin-top:0; | |
| transform:rotate(90deg); | |
| } | |
| &:after { | |
| margin-top:0; | |
| transform:rotate(180deg); | |
| } | |
| } | |
| } | |
| /** | |
| * Style #3 | |
| */ | |
| .style-3 { | |
| .nav { | |
| width:100%; | |
| height:100%; | |
| transform: translateX(100%); | |
| } | |
| .nav--active .nav { | |
| transform: translateX(20%); | |
| } | |
| .iphone__content { | |
| transform: scale(1) translateX(0); | |
| transition: all @duration @ease; | |
| } | |
| .iphone__screen { | |
| background-color: lighten(@nav-bg-active, 5%); | |
| } | |
| .nav--active .iphone__content { | |
| transform: scale(0.9) translateX(-90%); | |
| } | |
| .nav__icon { | |
| background: rgba(0,0,0,0.0); | |
| &:before { | |
| margin-top:0; | |
| transform:rotate(90deg); | |
| } | |
| &:after { | |
| margin-top:0; | |
| transform:rotate(180deg); | |
| } | |
| } | |
| .nav--active .nav__icon { | |
| transform:rotate(135deg); | |
| } | |
| } | |
| /** | |
| * Style #4 | |
| */ | |
| .style-4 { | |
| .nav { | |
| width:100%; | |
| height:100%; | |
| transform: translateY(-100%); | |
| } | |
| .nav--active .nav { | |
| transform: translateY(0); | |
| } | |
| .nav--active .nav__icon { | |
| transform:rotate(90deg); | |
| } | |
| .nav__link { | |
| opacity:0; | |
| transition-delay:500ms; | |
| } | |
| .nav--active .nav__link { | |
| opacity:1; | |
| } | |
| } | |
| /** | |
| * Style #5 | |
| */ | |
| .style-5 { | |
| .nav { | |
| transform: translate(100%,-100%) scale(0.5); | |
| border-radius:100%; | |
| } | |
| .nav--active .nav { | |
| transform: translateY(0) scale(1); | |
| border-radius:0; | |
| width:100%; | |
| height:100%; | |
| } | |
| .nav__link { | |
| opacity:0; | |
| transition-delay:500ms; | |
| } | |
| .nav--active .nav__link { | |
| opacity:1; | |
| } | |
| .nav--active .nav__icon { | |
| background: rgba(0,0,0,0.0); | |
| &:before { | |
| margin-top:0; | |
| transform:rotate(45deg); | |
| } | |
| &:after { | |
| margin-top:0; | |
| transform:rotate(-45deg); | |
| } | |
| } | |
| } | |
| /** | |
| * Style #6 | |
| */ | |
| .style-6 { | |
| .nav { | |
| transform: rotateZ(-90deg); | |
| width:100%; | |
| height:100%; | |
| } | |
| .nav--active .nav { | |
| transform: rotateZ(0); | |
| } | |
| .nav__link { | |
| opacity:0; | |
| transition-delay:500ms; | |
| } | |
| .nav--active .nav__link { | |
| opacity:1; | |
| } | |
| .nav__icon { | |
| background: rgba(0,0,0,0.0); | |
| &:before { | |
| margin-top:0; | |
| transform:rotate(90deg); | |
| } | |
| &:after { | |
| margin-top:0; | |
| transform:rotate(180deg); | |
| } | |
| } | |
| .nav--active .nav__icon { | |
| transform:rotate(135deg); | |
| } | |
| } |