Адаптивное многоуровневое горизонтальное меню на чистом 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 ---
/* ========================================================================= */