Это лучший способ центрировать UL внутри любого DIV-контейнера.
Это решение CSS не использует свойства Width и Float. Float: Left и Width: 70%, это вызовет у вас головную боль, когда вам придется дублировать меню на разных страницах с разными пунктами меню.
Вместо использования ширины мы используем отступы и поля для определения пространства вокруг текста / элемента меню. Также вместо использования Float: Left в элементе LI используйте display: inline-block.
Перемещая ваш LI влево, вы буквально перемещаете свой контент влево, а затем вы должны использовать один из хаков, упомянутых выше, для центрирования вашего UL. Display: inline-block создает ваше свойство Float для вас (вроде). Он берет ваш элемент LI и превращает его в элемент блока, который лежит рядом друг с другом (не плавая).
При адаптивном дизайне и использовании таких платформ, как Bootstrap или Foundation, будут возникать проблемы при попытке размещения и центрирования контента. У них есть несколько встроенных классов, но всегда лучше делать это с нуля. Это решение намного лучше для динамических меню (таких как система меню Adobe Business Catalyst).
Ссылку на этот учебник можно найти по адресу: http://html -tuts.com / center-div-image-table-ul-inside-div /
HTML
<div class="container">
<ul>
<li><a href="#">Button</a></li>
<li><a href="#">Button</a></li>
<li><a href="#">Button</a></li>
<li><a href="#">Button</a></li>
<li><a href="#">Button</a></li>
</ul>
</div>
CSS
.container {
text-align: center;
border: 1px solid green;
}
.container ul {
border: 2px solid red;
display: inline-block;
margin: 10px 0;
padding: 2px;
}
.container li {
display: inline-block;
}
.container li a {
display: inline-block;
background: #444;
color: #FFF;
padding: 5px;
text-decoration: none;
}