Создание навигации с выпадающими списками с помощью HTML и CSS — это довольно распространённая задача в веб-разработке. В этом ответе мы рассмотрим, как создать простую навигацию с выпадающими списками, используя только HTML и CSS.
Давайте начнём с базовой HTML-разметки. Мы создадим меню, которое будет содержать несколько пунктов, и некоторые из них будут иметь выпадающие подменю. Вот пример разметки:
<nav>
<ul>
<li><a href="#home">Главная</a></li>
<li><a href="#about">О нас</a></li>
<li><a href="#services">Услуги</a>
<ul>
<li><a href="#web-design">Веб-дизайн</a></li>
<li><a href="#seo">SEO</a></li>
<li><a href="#marketing">Маркетинг</a></li>
</ul>
</li>
<li><a href="#contact">Контакты</a></li>
</ul>
</nav>
В этом примере мы создали основной элемент навигации <nav>, который содержит список <ul> с несколькими элементами <li>. Обратите внимание, что пункт меню «Услуги» содержит вложенный список <ul>, который представляет собой выпадающее меню.
Теперь давайте добавим немного CSS, чтобы стилизовать наше меню и сделать выпадающие списки видимыми. Вот пример CSS:
nav {
background-color: #333;
}
nav ul {
list-style-type: none;
margin: 0;
padding: 0;
}
nav ul li {
float: left;
position: relative;
}
nav ul li a {
display: block;
color: white;
padding: 14px 16px;
text-decoration: none;
}
nav ul li a:hover {
background-color: #111;
}
nav ul li ul {
display: none;
position: absolute;
background-color: #333;
min-width: 160px;
}
nav ul li:hover ul {
display: block;
}
nav ul li ul li {
float: none;
}
nav ul li ul li a {
padding: 12px 16px;
}
nav ul li ul li a:hover {
background-color: #575757;
}
В этом CSS-коде мы задаём цвет фона для навигации и устанавливаем стиль для элементов списка. Мы используем псевдокласс :hover, чтобы показать выпадающее меню, когда пользователь наводит курсор на пункт «Услуги». Вложенные списки по умолчанию скрыты с помощью display: none;, и они становятся видимыми, когда родительский элемент находится в состоянии hover.
Теперь, когда у нас есть как HTML, так и CSS, давайте посмотрим на полный код вместе:
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Навигация с выпадающими списками</title>
<style>
nav {
background-color: #333;
}
nav ul {
list-style-type: none;
margin: 0;
padding: 0;
}
nav ul li {
float: left;
position: relative;
}
nav ul li a {
display: block;
color: white;
padding: 14px 16px;
text-decoration: none;
}
nav ul li a:hover {
background-color: #111;
}
nav ul li ul {
display: none;
position: absolute;
background-color: #333;
min-width: 160px;
}
nav ul li:hover ul {
display: block;
}
nav ul li ul li {
float: none;
}
nav ul li ul li a {
padding: 12px 16px;
}
nav ul li ul li a:hover {
background-color: #575757;
}
</style>
</head>
<body>
<nav>
<ul>
<li><a href="#home">Главная</a></li>
<li><a href="#about">О нас</a></li>
<li><a href="#services">Услуги</a>
<ul>
<li><a href="#web-design">Веб-дизайн</a></li>
<li><a href="#seo">SEO</a></li>
<li><a href="#marketing">Маркетинг</a></li>
</ul>
</li>
<li><a href="#contact">Контакты</a></li>
</ul>
</nav>
</body>
</html>
С помощью этого кода вы получите простую навигацию с выпадающими списками, которая будет хорошо выглядеть на большинстве экранов. Вы можете дополнительно стилизовать её по своему усмотрению, изменяя цвета, размеры, шрифты и т.д.
Таким образом, создание навигации с выпадающими списками — это задача, которую можно выполнить с помощью базовых знаний HTML и CSS. Не забывайте тестировать своё меню на разных устройствах и браузерах, чтобы убедиться, что оно работает корректно.