<button id="menu-toggle"></button> <nav id="menu" role="navigation"> <div class="brand">𝔸</div> <ul> <li><a href="#">Item 1</a></li> <li><a href="#">Item 2</a></li> <li><a href="#">Item 3</a></li> </ul> </nav> <div class="page-wrap"> <div class="container" role="main"> <article> <h2>Vanilla Javascript push menu</h2> <p>Sometimes you just need a really simple push menu, without any Javascript Libraries. I made this in a rush for a client with the instructions to not use any jQuery.</p> <p>I like the thought of adding a class to the body and climb the DOM instead of adding classes to the affected elements.</p> <p>Less is more.</p> </article> </div> </div> //Автор: Nikolay Talanov. @suez html, body { height: 100%; overflow: hidden; } body { width: 100%; margin: 0; font-family: "Roboto", sans-serif; color: #fff; background-color: #232629; } p { line-height: 1.7; } h2 { margin-top: 30px; font-size: 1.7em; line-height: 1; letter-spacing: 2px; text-transform: uppercase; } /* PUSH MENU */ #menu { position: absolute; top: 0; left: -300px; width: 300px; height: 100%; padding: 50px 30px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all .3s ease-in; -moz-transition: all .3s ease-in; -o-transition: all .3s ease-in; transition: all .3s ease-in; text-align: center; background-color: #fff; /*transform: translateX(-300px);*/ } #menu .brand { height: 51px; font-size: 70px; font-weight: 900; line-height: .6; color: #ddd; } #menu ul { padding: 0; margin-top: 30px; } #menu ul li a { display: block; font-weight: 900; line-height: 50px; -webkit-transition: all .3s ease; -moz-transition: all .3s ease; -o-transition: all .3s ease; transition: all .3s ease; text-decoration: none; text-transform: uppercase; color: #232629; border-top: 1px solid #eee; } #menu ul li:last-child a { border-bottom: 1px solid #eee; } #menu ul li a:hover { letter-spacing: 1px; } /* MAIN PAGE */ .page-wrap { padding: 50px; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; -webkit-transition: all .3s ease-in; -moz-transition: all .3s ease-in; -o-transition: all .3s ease-in; transition: all .3s ease-in; } /* MENU TOGGLE ICON */ button:focus { outline: none; } #menu-toggle { position: absolute; top: 50px; left: 50px; width: 51px; height: 51px; cursor: pointer; border: none; -webkit-border-radius: 50px; -moz-border-radius: 50px; border-radius: 50px; background: #fff; transition: all 0.3s ease-in; } #menu-toggle:focus { z-index: -10; transform: translateX(300px); } #menu-toggle:focus ~ .page-wrap { transform: translateX(300px); } #menu-toggle:focus ~ #menu { transform: translateX(300px); /*left: 0;*/ } #menu-toggle:before, #menu-toggle:after { position: absolute; content: ""; content: ""; -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -o-transition: all .5s ease; transition: all .5s ease; background-color: #232629; } #menu-toggle:before { top: 12px; left: 25px; width: 1px; height: 27px; } #menu-toggle:after { top: 25px; left: 12px; width: 27px; height: 1px; } #menu-toggle:focus:before, #menu-toggle:focus:after { -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); } /* CONTENT CONTAINER */ .container { max-width: 600px; min-width: 200px; margin: 0 auto; } Навигация по записям Header Header