интересные менюхи
by Denis Tverdokhlebov
HTML
<input id="hamburger" class="hamburger" type="checkbox" />
<label for="hamburger" class="hamburger">
<i></i>
<text>
<close>close</close>
<open>menu</open>
</text>
</label>
<nav class="primnav">
<ul>
<li>
<a title="Dashboard" href="#dashboard">
<svg class="icon"><use xlink:href="#icon-th-large"></use></svg> Dashboard
</a>
</li>
<li>
<a title="Mail" href="#mail">
<svg class="icon"><use xlink:href="#icon-mail_outline"></use></svg> Mail
<div class="tag">53</div>
</a>
<ul class="secnav">
<li>
<a title="Inbox" href="#inbox">Inbox</a>
</li>
<li>
<a title="Sent" href="#sent">Sent</a>
</li>
</ul>
</li>
<li>
<a title="Notifications" href="#notifications">
<svg class="icon"><use xlink:href="#icon-bell2"></use></svg> Notifications
<div class="tag">17</div>
</a>
</li>
<li>
<a title="System Administration" href="#sysadmin">
<svg class="icon"><use xlink:href="#icon-equalizer"></use></svg> System Administration
</a>
<ul class="secnav">
<li>
<a title="Users" href="#users">Users</a>
</li>
<li>
<a title="Lists" href="#lists">Lists</a>
</li>
<li>
<a title="Calendar" href="#calendar">Calendar</a>
</li>
</ul>
</li>
</ul>
</nav>
<user id="user">
<section>
<img src="https://randomuser.me/api/portraits/women/85.jpg" />
<section>
<name>Sarah Dekhard</name>
<actions><a href="#settings">settings</a> | <a href="#logout">logout</a></actions>
</section>
</section>
</user>
<content>
<nav class="tabs">
<ul>
<li><a class="tab" href="#">Tab One</a></li>
<li><a class="tab" href="#">Tab Two</a></li>
<li><a class="tab" href="#">Tab Three</a></li>
...
CSS
html {
font-family: 'Lato', sans-serif;
}
main {
display: -webkit-box;
display: -ms-flexbox;
display: flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
height: 100vh;
}
input.hamburger {
display: none;
}
input.hamburger:checked ~ label > i {
background-color: transparent;
-webkit-transform: rotate(90deg);
transform: rotate(90deg);
}
input.hamburger:checked ~ label > i:before {
-webkit-transform: translate(-50%, -50%) rotate(315deg);
transform: translate(-50%, -50%) rotate(315deg);
}
input.hamburger:checked ~ label > i:after {
-webkit-transform: translate(-50%, -50%) rotate(-315deg);
transform: translate(-50%, -50%) rotate(-315deg);
}
input.hamburger:checked ~ label close {
color: #222;
width: 100%;
}
input.hamburger:checked ~ label open {
color: rgba(0, 0, 0, 0);
width: 0;
}
label.hamburger {
z-index: 9999;
position: relative;
display: block;
height: 50px;
width: 50px;
}
label.hamburger:hover {
cursor: pointer;
}
label.hamburger text close,
label.hamburger text open {
text-transform: uppercase;
font-size: .8em;
align-text: center;
position: absolute;
-webkit-transform: translateY(50px);
transform: translateY(50px);
text-align: center;
overflow: hidden;
-webkit-transition: width .25s .35s, color .45s .35s;
transition: width .25s .35s, color .45s .35s;
}
label.hamburger text close {
color: rgba(0, 0, 0, 0);
right: 0;
width: 0;
}
label.hamburger text open {
color: #222;
width: 100%;
}
label.hamburger > i {
position: absolute;
width: 100%;
height: 2px;
top: 50%;
background-color: #222;
pointer-events: auto;
-webkit-transition-duration: .35s;
transition-duration: .35s;
-webkit-transition-delay: .35s;
transition-delay: .35s;
}
label.hamburger > i:before, label.hamburger > i:after {
...