Horizontale Liste mit fester Elementbreite zentrieren

Status
Nicht offen für weitere Antworten.

Azi

Erfahrenes Mitglied
Hallo,
ich habe folgendes Problem:
Eine Navigation hat width:100%. Die enthaltenen Punkte sollen alle eine bestimmte Breite haben, 150px. Und all diese Elemente sollen Zentriert werden.

Ich bekomm das Problem nicht geknackt... Um den Listenelementen eine feste Breite zu geben, müssen sie entweder gefloatet werden (float kann aber kein center), oder etwas anderes haben als display:inline (was aber der fall sein soll). Weiß jemand Rat?

Azi
 
Hi,

ansonsten wirst du für das übergeordnete Listenelement die Gesamtbreite aller Navigationspunkte und margin:0 auto bestimmen müssen, um es im Fenster horizontal zu zentrieren:

Code:
ul {
width: 600px;
margin: 0 auto;
list-style: none;
}

li {
float: left;
width: 150px;
text-align: center;
background: #cacaca;
}

Code:
<ul>
    <li><a href="#">test</a></li>
    <li><a href="#">test</a></li>
    <li><a href="#">test</a></li>
    <li><a href="#">test</a></li>
</ul>
 
Das Problem ist, dass das übergeordnete Element ja eine Breite von 100% hat (was designtechnische Gründe hat ;) ).
 
Okay, vielleicht kannst du mit diesem "Workaround" leben, bei dem das DIV #wrapper die Rolle des übergeordneten Elements mit der 100%-Breite übernimmt?

Code:
div#wrapper {
background: #ff0000;
}

ul#nav {
width: 600px;
margin: 0 auto;
padding: 0;
list-style: none;
}

ul#nav li {
float: left;
width: 150px;
text-align: center;
background: #cacaca;
}

.clear {
clear: left;
font-size: 1px;
line-height: 0;
}

Code:
<div id="wrapper">
        <ul id="nav">
            <li><a href="#">test</a></li>
            <li><a href="#">test</a></li>
            <li><a href="#">test</a></li>
            <li><a href="#">test</a></li>
        </ul>
        <div class="clear">&nbsp;</div>
</div>
 
Status
Nicht offen für weitere Antworten.
Zurück