Адаптивное многоуровневое горизонтальное меню на чистом CSS

HTML

<nav>
 

  <label for="drop" class="toggle">Меню</label>
  <input type="checkbox" id="drop" />
  <ul class="menu">
    <li><a href="#">Главная</a></li>
    <li>
      <!-- First Tier Drop Down -->
      <label for="drop-1" class="toggle">WordPress +</label>
      <a href="#">WordPress</a>
      <input type="checkbox" id="drop-1" />
      <ul>
        <li><a href="#">Темы</a></li>
        <li><a href="#">Плагины</a></li>
        <li><a href="#">Уроки</a></li>
      </ul>

    </li>
    <li>

      <!-- First Tier Drop Down -->
      <label for="drop-2" class="toggle">Веб Дизайн +</label>
      <a href="#">Веб Дизайн</a>
      <input type="checkbox" id="drop-2" />
      <ul>
        <li><a href="#">Ресурсы</a></li>
        <li><a href="#">Ссылки</a></li>
        <li>

          <!-- Second Tier Drop Down -->
          <label for="drop-3" class="toggle">Уроки +</label>
          <a href="#">Уроки</a>
          <input type="checkbox" id="drop-3" />

          <ul>
            <li><a href="#">HTML/CSS</a></li>
            <li><a href="#">jQuery</a></li>
            <li><a href="#">Разные</a></li>
          </ul>
        </li>
      </ul>
    </li>
    <li><a href="#">Графика</a></li>
    <li><a href="#">Вдохновение</a></li>
    <li><a href="#">Контакты</a></li>
    <li><a href="#">О Сайте</a></li>
  </ul>
</nav>

<div id="container">
  <p>Простое многоуровневое меню навигации, сделано с помощью CSS, без использования javascript. Пункты с подменю помечены знаком плюс (+)</p>
  <p>Изменяйте размера экрана, чтобы увидеть поведение меню, при размерах экрана меньше чем 768px </p>
</div>

CSS

/* CSS Document */

@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300&subset=latin,cyrillic);
body {
  background: #f5f5f5;
  font-size: 22px;
  line-height: 32px;
  color: #333;
  margin: 0;
  padding: 0;
  word-wrap: break-word !important;
  font-family: 'Open Sans', sans-serif;
}

h1 {
  font-size: 60px;
  text-align: center;
  color: #333;
}

h3 {
  font-size: 30px;
  line-height: 34px;
  text-align: center;
  color: #333;
}

h3 a {
  color: #333;
}

a {
  color: #f4f4f4;
}

h1 {
  margin-top: 100px;
  text-align: center;
  font-size: 60px;
  line-height: 70px;
  font-family: 'Open Sans', sans-serif;
}

#container {
  margin: 0 auto;
  max-width: 960px;
}

p {
  text-align: center;
}

.toggle,
[id^=drop] {
  display: none;
}


/* Giving a background-color to the nav container. */

nav {
  margin: 0;
  padding: 0;
  background-color: #006064;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, .16), 0 2px 10px 0 rgba(0, 0, 0, .12);
}

#logo {
  display: block;
  padding: 0 30px;
  float: left;
  font-size: 20px;
  line-height: 60px;
  color: #ccc;
}


/* Since we'll have the "ul li" "float:left"
 * we need to add a clear after the container. */

nav:after {
  content: "";
  display: table;
  clear: both;
}


/* Removing padding, margin and "list-style" from the "ul",
 * and adding "position:reltive" */

nav ul {
  float: right;
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
}


/* Positioning the navigation items inline */

nav ul li {
  margin: 0px;
  display: inline-block;
  float: left;
  background-color: #006064;
}


/* Styling the links */

nav a {
  display: block;
  padding: 14px 20px;
  color: #ccc;
  font-size: 17px;
  text-decoration: none;
}

nav ul li ul li:hover {
  background: #004d40;
}


/* Background color change on Hover */

nav a:hover {
  background-color: #004d40;
}


/* Hide Dropdowns by Default
 * and giving it a position of absolute */

nav ul ul {
  display: none;
  position: absolute;
  /* has to be the...

JavaScript

/* ========================================================================= */
/*	shurawi --- dbmast.ru ---
/* ========================================================================= */