Mr_Tabrest_3115
@Mr_Tabrest_3115

Как сделать фиксированное меню?

Нужно сделать так, чтобы при уменьшении ширины экрана меню также оставалось по центру этой страницы, а оно съезжает. В position'ах я не разбираюсь, только учусь

codepen.io/MrTabrest/pen/yVZxzy <-- Ссылка на код
  • Вопрос задан
  • 216 просмотров
Решения вопроса 1
algreenzer
@algreenzer
Я в этом шарю
Добавляем обертку для меню
<div class="menu__wrapper">
  <div class="menu">
  ...
  </div>
</div><!--/.menu__wrapper (отмечаем конец обертки, дабы не путать с другими закрывающими тегами) -->

Обертку раcтягиваем, а содержимое меню центрируем внутри относительно нее:
.menu__wrapper {
  width: 100%;
  margin: 0 auto;
}
.menu {
  width: auto;
  margin: 0;
  text-align: center;
}

Вот что получилось codepen

Таким образом меню центрируется при любой ширине экрана, и при изменении ширины из-за добавления пунктов меню, будет оставаться центрированной. Если по какой-то причине такое центрирование мешает. Можно подобрать ширину div.menu, при которой margin: 0 auto; будет продолжать выравнивать блок по центру. Но тогда возникнет проблема с расширением меню при добавлении пунктов.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
.menu {
text-align: center;
}

.menu ul {
display: inline-block;
}
Ответ написан
Комментировать
Задайте классу menu фиксированную ширину и выравнивайте по центру с помощью margin
.menu {
    witdh: 616px;
    margin: 0 auto;
}
Ответ написан
isakura313
@isakura313
Люблю JS, считаю что это ненормально
используйте не абсолютное, а относительное позиционирование menu, и задайте левый margin в 35%
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
28 апр. 2024, в 17:10
20000 руб./за проект
28 апр. 2024, в 15:00
100000 руб./за проект
28 апр. 2024, в 14:43
5000 руб./за проект