Oto, w jaki sposób go rozwiązałem i dotyczy również dynamicznie generowanych menu.
Przyjmijmy to dynamicznie generowane menu:
<div id="menu">
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
</div>
i to jest CSS:
.menu {
width:300px;
text-align: center; /*Set a width and text-align on the main div*/
}
.menu ul{
margin:0;
padding:0;
display:inline-block;
list-style: none; /*Set display to inline-block to the ul*/
}
.menu ul li {
float: left;
margin-right: 1.3em; /*this is the usual*/
padding: 0;
}
Teraz, lista się koncentrować trzeba dodać punkt pusty wyczyść pływak. Można to zrobić ręcznie, jeśli menu jest statyczna lub używając jQuery
takiego:
$(document).ready(function() {
$("<p class='clear'></p>").insertAfter('.menu-header ul li:last-child');
})
i CSS z .clear
ustępu będą:
p.clear{
clear:both;
margin:0;
padding:0;
height: 0;
width: 0;
}
i to jest to!
mam tych już i wciąż nie jest wyśrodkowany. –
Po przejściu wszystkich elementów listy, ul uzyskuje wysokość zero i szerokość 100%. – jkelley
Można usunąć wyświetlacz: wstawić na swoim ul, a następnie ustawić stałą szerokość (szerokość: 500 pikseli) na środku, ale jest to trochę hack, ponieważ ul nie jest poprawnie ustawiony jego szerokość boksu – jkelley