Created
April 18, 2017 20:05
-
-
Save Yelakelly/77d3e70593977d09f65680531684b0ac to your computer and use it in GitHub Desktop.
Adaptive navigation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<div class="primary-nav-button"> | |
<button class="hamburger hamburger--collapse js-nav-toggle" type="button"> | |
<span class="hamburger-box"> | |
<span class="hamburger-inner"></span> | |
</span> | |
</button> | |
</div> | |
<nav class="primary-nav primary-nav--header"> | |
<ul class="primary-nav__list"> | |
<li class="primary-nav__item"><a class="primary-nav__link empty-link js-nav-link" href="#types-of-cufflinks">Типы запонок</a></li> | |
<li class="primary-nav__item"><a class="primary-nav__link empty-link js-nav-link" href="#types-of-work">Примеры работ</a></li> | |
<li class="primary-nav__item"><a class="primary-nav__link empty-link js-nav-link" href="#order-process">Процесс заказа</a></li> | |
<li class="primary-nav__item"><a class="primary-nav__link empty-link js-nav-link" href="#contacts">Контакты</a></li> | |
</ul> | |
</nav> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.primary-nav__list { | |
padding: 0px; | |
margin: 0px; | |
list-style-type: none; | |
zoom: 1; | |
} | |
.primary-nav__list:after, | |
.primary-nav__list:before { | |
content: ""; | |
display: table; | |
} | |
.primary-nav__list:after { | |
clear: both; | |
} | |
.primary-nav__item { | |
float: left; | |
} | |
.primary-nav__item:not(:first-child) { | |
padding-left: 18px; | |
} | |
.primary-nav__link { | |
color: #fff; | |
text-decoration: none; | |
} | |
.primary-nav-button{ | |
display: none; | |
} | |
/*start hamburger button*/ | |
.hamburger{ | |
padding: 15px 15px; | |
display: inline-block; | |
cursor: pointer; | |
transition-property: opacity, -webkit-filter; | |
transition-property: opacity, filter; | |
transition-property: opacity, filter, -webkit-filter; | |
transition-duration: 0.15s; | |
transition-timing-function: linear; | |
font: inherit; | |
color: inherit; | |
text-transform: none; | |
background-color: transparent; | |
border: 0; | |
margin: 0; | |
overflow: visible; | |
} | |
.hamburger:hover{ | |
opacity: 0.7; | |
} | |
.hamburger:focus{ | |
outline:0; | |
} | |
.hamburger-box{ | |
width: 40px; | |
height: 24px; | |
display: inline-block; | |
position: relative; | |
} | |
.hamburger-inner{ | |
display: block; | |
top: 50%; | |
margin-top: -2px; | |
} | |
.hamburger-inner, .hamburger-inner::before, .hamburger-inner::after{ | |
width: 40px; | |
height: 3px; | |
background-color: #fff; | |
border-radius: 0; | |
position: absolute; | |
transition-property: -webkit-transform; | |
transition-property: transform; | |
transition-property: transform, -webkit-transform; | |
transition-duration: 0.15s; | |
transition-timing-function: ease; | |
} | |
.hamburger-inner::before, .hamburger-inner::after{ | |
content: ""; | |
display: block; | |
} | |
.hamburger-inner::before{ | |
top: -10px; | |
} | |
.hamburger-inner::after{ | |
bottom: -10px; | |
} | |
/*Collapse - effect*/ | |
.hamburger--collapse .hamburger-inner{ | |
top: auto; | |
bottom: 0; | |
transition-duration: 0.15s; | |
transition-delay: 0.15s; | |
transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); | |
} | |
.hamburger--collapse .hamburger-inner::after{ | |
top: -20px; | |
transition: top 0.3s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear; | |
} | |
.hamburger--collapse .hamburger-inner::before{ | |
transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); | |
transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); | |
transition: top 0.12s 0.3s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19), -webkit-transform 0.15s cubic-bezier(0.55, 0.055, 0.675, 0.19); | |
} | |
.hamburger--collapse.is-active .hamburger-inner{ | |
-webkit-transform: translate3d(0, -10px, 0) rotate(-45deg); | |
transform: translate3d(0, -10px, 0) rotate(-45deg); | |
transition-delay: 0.32s; | |
transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); | |
} | |
.hamburger--collapse.is-active .hamburger-inner::after{ | |
top: 0; | |
opacity: 0; | |
transition: top 0.3s cubic-bezier(0.33333, 0, 0.66667, 0.33333), opacity 0.1s 0.27s linear; | |
} | |
.hamburger--collapse.is-active .hamburger-inner::before{ | |
top: 0; | |
-webkit-transform: rotate(-90deg); | |
transform: rotate(-90deg); | |
transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); | |
transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); | |
transition: top 0.12s 0.18s cubic-bezier(0.33333, 0, 0.66667, 0.33333), transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 0.15s 0.42s cubic-bezier(0.215, 0.61, 0.355, 1); | |
} | |
/*end hamburger button */ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function menuToggle(menu, button){ | |
button.toggleClass('is-active'); | |
menu.slideToggle(300); | |
} | |
$('.js-nav-toggle').on('click', function(){ | |
menuToggle($('.primary-nav'), $(this)); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment