Создание адаптивной навигации с помощью HTML и CSS является важным аспектом веб-разработки, поскольку это позволяет обеспечить удобство использования сайта на различных устройствах, таких как смартфоны, планшеты и настольные компьютеры. В этом ответе мы разберем, как это сделать шаг за шагом.

Шаг 1: Основная HTML-разметка

Для начала создадим базовую структуру навигации. Мы используем неупорядоченный список для создания меню. Вот пример:

<nav>
    <ul>
        <li><a href="#home">Главная</a></li>
        <li><a href="#about">О нас</a></li>
        <li><a href="#services">Услуги</a></li>
        <li><a href="#contact">Контакты</a></li>
    </ul>
</nav>

В этом коде мы создали навигационное меню с четырьмя пунктами: Главная, О нас, Услуги и Контакты.

Шаг 2: Основные стили CSS

Теперь мы добавим некоторые стили, чтобы сделать навигацию более привлекательной и адаптивной. Вот пример базовых стилей:

nav {
    background-color: #333;
}

nav ul {
    list-style-type: none;
    margin: 0;
    padding: 0;
    overflow: hidden;
}

nav ul li {
    float: left;
}

nav ul li a {
    display: block;
    color: white;
    text-align: center;
    padding: 14px 16px;
    text-decoration: none;
}

nav ul li a:hover {
    background-color: #111;
}

В этом коде мы задаем фоновый цвет навигации, убираем маркеры списка, настраиваем стиль ссылок и добавляем эффект наведения.

Шаг 3: Адаптивность с помощью медиа-запросов

Следующим шагом мы сделаем наше меню адаптивным с помощью медиа-запросов. Это позволит меню переходить в вертикальный режим на устройствах с узким экраном. Вот пример:

@media screen and (max-width: 600px) {
    nav ul li {
        float: none;
        width: 100%;
    }
}

С помощью этого медиа-запроса мы изменяем поведение списка, чтобы элементы располагались вертикально на экранах шириной 600 пикселей или меньше.

Шаг 4: Использование Flexbox для более гибкой разметки

Чтобы упростить процесс создания адаптивного меню, мы можем использовать Flexbox. Вот как это можно сделать:

nav ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

@media screen and (max-width: 600px) {
    nav ul {
        flex-direction: column;
    }
}

С помощью Flexbox мы можем легко управлять расположением элементов в нашем навигационном меню, а также сделать его адаптивным.

Шаг 5: Итоговый код

Вот как будет выглядеть наш полный код:

<!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;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        nav ul li {
            float: left;
        }

        nav ul li a {
            display: block;
            color: white;
            text-align: center;
            padding: 14px 16px;
            text-decoration: none;
        }

        nav ul li a:hover {
            background-color: #111;
        }

        @media screen and (max-width: 600px) {
            nav ul {
                flex-direction: column;
            }
        }
    </style>
</head>
<body>
    <nav>
        <ul>
            <li><a href="#home">Главная</a></li>
            <li><a href="#about">О нас</a></li>
            <li><a href="#services">Услуги</a></li>
            <li><a href="#contact">Контакты</a></li>
        </ul>
    </nav>
</body>
</html>

Теперь у вас есть адаптивное навигационное меню, которое будет хорошо выглядеть на различных устройствах.

Заключение

Создание адаптивной навигации — это важный навык для веб-разработчиков. Используя HTML и CSS, вы можете создать меню, которое будет удобно использовать на любом устройстве. Не забывайте тестировать ваше меню на различных экранах, чтобы убедиться, что оно работает правильно.