интересные менюхи

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 {
 ...