CSS и вёрстка

Как изменить меню CSS

Как изменить меню CSS 📅 ⏱ 20:38 ⏳ 2 мин 💬 0

Как изменить меню css: простыми словами, по шагам и с примерами. Разбираем, как это работает на практике, типичные ошибки и лучшие решения. Раскрываем тему: ['k

Как изменить меню CSS

Коротко: меню в CSS оформляют через список: убирают маркеры (list-style: none), задают отступы и цвета, а для горизонтального вида — display: flex с gap. Активный пункт и подменю оформляют отдельными правилами. В WordPress к пунктам автоматически добавляются классы вроде .current-menu-item.

Кому и зачемМеню — главная навигация сайта. Стандартное меню WordPress выглядит «по-системному»: маркеры, синие ссылки, подчёркивания. Переделка — это несколько правил CSS, но делать их надо системно.

Базовая разметка меню

CODE
<nav class="menu">
  <ul>
    <li class="current-menu-item"><a href="/">Главная</a></li>
    <li><a href="/uslugi/">Услуги</a></li>
    <li><a href="/contacts/">Контакты</a></li>
  </ul>
</nav>

Вкладки: что и как менять




CSS
.menu ul { list-style: none; margin: 0; padding: 0; }
.menu a {
  text-decoration: none;
  color: #505050;
}

Первым делом убирают маркеры и подчёркивание. Иначе любой дизайн меню «рассыпается».

CSS
.menu ul {
  display: flex;
  gap: 24px;
  align-items: center;
}

flex + gap — современный способ выстроить пункты в строку с равными промежутками. Никаких inline-block с «волшебными» пробелами.

CSS
.menu a:hover { color: #003F8F; }
.menu .current-menu-item > a {
  color: #003F8F;
  font-weight: 600;
}

WordPress сам добавляет .current-menu-item для активной страницы и .menu-item-has-children для пунктов с подменю. Используйте эти классы вместо «угадывания».

CSS
.menu .sub-menu {
  display: none;
  position: absolute;
  min-width: 220px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.12);
  border-radius: 8px;
  padding: 8px 0;
}
.menu li:hover > .sub-menu { display: block; }

Подменю показывают при наведении или по клику. На тач-устройствах hover не работает — добавьте обработчик клика и класс, либо используйте :focus-within.

Мобильное менюНа телефонах горизонтальное меню не влезает: его прячут в «бургер». Оформляют так же, только с flex-direction: column и раскрытием по классу .is-open.

Практика: меню в стиле сайта

  1. Обнулите маркеры и отступы списка.
  2. Задайте шрифт, размер и цвет ссылок.
  3. Выстройте в строку через flex + gap.
  4. Опишите состояния :hover, :focus-visible и активный пункт.
  5. Оформите подменю (позиционирование, тень, отступы).
  6. Проверьте на мобильном и с клавиатуры.

Частые ошибки: причина → решение

Симптом Причина Решение
Видно точки списка не убран list-style list-style: none
Пункты в столбик нет flex display: flex
Подменю «разъезжается» нет position: relative у родителя задать позиционирование
Активный пункт не подсвечен не использован класс WP стилизовать .current-menu-item

Проверьте себя

Чек-лист




Какой класс WordPress добавляет активному пункту меню?




Чем удобно выстраивать меню в строку?




Вопросы и ответы

Раскрывать по клику (класс .is-open), а не по hover: на тач-устройствах наведения нет.

Классы добавляет функция wp_nav_menu(). Их можно расширить фильтром nav_menu_css_class, но обычно стандартных хватает.

position: sticky; top: 0; у контейнера меню — оно останется вверху при прокрутке.

Оно позиционируется от ближайшего родителя без position. Задайте position: relative пункту меню.

Итоги

  • Начинайте со сброса: маркеры, подчёркивания, отступы.
  • Строка пунктов — flex + gap.
  • Используйте классы WordPress для активного пункта и подменю.
  • На мобильных — «бургер» и раскрытие по клику.
Поделиться: ВКонтакте Telegram WhatsApp Одноклассники Viber Мой Мир

Комментарии

Пока комментариев нет — будьте первым, кто поделится мнением.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Получите консультацию нашего маркетолога

Изучит ваш проект, подберет подходящие услуги и тарифы

Получите бесплатный аудит

Наш специалист сделает базовый аудит вашего проекта и предложит персональные предложения.

Закажите услугу Каталог морепродуктов

Наш специалист свяжется с вами в ближайшее время и уточнит детали

Закажите адаптивный сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт лендинг

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите сайт каталог

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите интернет-магазин

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите веб-приложение

Наш специалист поможет составить Вам техническое задание на разработку сайта

Закажите тариф Аутсорс

Стоимость от 150 000 ₽

Закажите тариф Магазин

Стоимость 90 000 ₽

Закажите тариф Классический

Стоимость 60 000 ₽

Закажите тариф Эконом

Стоимость 40 000 ₽

Закажите SEO продвижение

Наш специалист свяжется с вами, проведет анализ, предложит стоимость