Как центрировать панель навигации с помощью CSS или HTML?

У меня возникли проблемы с центрированием панели навигации на этой странице.

Я пробовал nav { margin: 0 auto; } и кучу других способов, но я все еще не могу отцентрировать его.


person tokyowp    schedule 13.05.2011    source источник
comment
Что именно вы подразумеваете под центрированием этой панели навигации?   -  person Peter Evjan    schedule 13.05.2011
comment
Он центрирован. Просто дочерние элементы не являются.   -  person David says reinstate Monica    schedule 13.05.2011
comment
@David Thomas - Значит, из-за дочернего элемента основная навигация не центрируется?   -  person tokyowp    schedule 13.05.2011
comment
Нет, поскольку вы не можете видеть background-color меню, дети заставляют меню выглядеть не по центру. Добавьте background-color в меню, и все будет в порядке.   -  person David says reinstate Monica    schedule 13.05.2011


Ответы (7)


#nav ul {
    display: inline-block;
    list-style-type: none;
}

Это должно работать, я проверил это на вашем сайте.

введите здесь описание изображения

person morgar    schedule 13.05.2011
comment
Я проверил это на вашем сайте с помощью Firebug, и это сработало. Могу показать скрин :) - person morgar; 13.05.2011
comment
На самом деле работает добавление только display: inline-block;. Я проверил это снова. - person morgar; 13.05.2011
comment
@morgar - есть идеи, как заставить дочерний элемент совпадать с основным? - person tokyowp; 13.05.2011
comment
@morgar - да, в конкурсе есть дочерний элемент - person tokyowp; 13.05.2011
comment
Какое отношение встроенный блок имеет к центрированию? Немного абсурдно, что это работает. Но это так. - person Sören; 07.04.2021

Добавьте немного CSS:

div#nav{
  text-align: center;
}
div#nav ul{
  display: inline-block;
}
person Niclas Sahlin    schedule 13.05.2011
comment
В любом случае, чтобы дочерний элемент соответствовал слову выше? - person tokyowp; 13.05.2011
comment
Вы можете установить «выравнивание текста: по левому краю» для вашего дочернего элемента. - person Niclas Sahlin; 13.05.2011

Если у вас есть навигация <ul> с классом #nav, тогда вам нужно поместить этот элемент <ul> в контейнер div. Сделайте свой контейнер div шириной 100%. и установите элемент text-align: в центр контейнера div. Затем в вашем <ul> задайте для этого класса 3 конкретных элемента: text-align:center; положение: родственник; и отображение: встроенный блок;

это должно центрировать его.

person Brandon    schedule 18.03.2016

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

Вот как я сделал:

body {
    margin: 0;
    padding: 0;
}

div maincontainer {
    margin: 0 auto;
    width: ___px;
    text-align: center;
}

ul {
    margin: 0;
    padding: 0;
}

ul li {
    margin-left: auto;
    margin-right: auto;
}

и не забудьте поставить doctype html5

person polas    schedule 06.04.2012

Ваш nav div на самом деле правильно отцентрирован. Но ul внутри нет. Дайте ul определенную ширину и отцентрируйте ее.

person AlbertVo    schedule 13.05.2011

Вы также можете использовать float и inline-block для центрирования навигации, как показано ниже:

nav li {
   float: left;
}
nav {
   display: inline-block;
}
person camara    schedule 16.12.2018

Просто добавь :

*{
    margin: 0;
    padding: 0;
}

nav{
    margin: 0 auto;
    text-align: center;
}
person Nirmal Sankalana    schedule 11.06.2021