2011-01-12 10 views
0

Mein Dilemma ist dies (und sollte einfach sein, ich vermute): Ich habe einen Container und eine Reihe von Elementen (beide divs). Das folgende CSS gilt:Fließende Elemente horizontal mit zentrierter Ausrichtung in einem Container

.container { 
    float:   left; 
    width:   100%; 
} 


.item { 
    margin:   32px; 
    text-align:  center; 
    position:  relative; 
    float:   left; 
} 

Die .item selbst ist ein Container, der fast jeden Satz von beliebigen Elementen haben könnte, aber sie müssen in der es Mitte ausgerichtet werden (in meinem Fall enthält es in der Regel ein Miniaturbild und eine kleine Textunterschrift darunter. Während das obige CSS jedem .item erlaubt, horizontal so zu fließen, wie ich es mag, kann ich nicht herausfinden, wie man das ganze Set-Center ausgerichtet macht (im Gegensatz zum Fluss von links nach rechts wie jetzt).

+1

Warum schweben Sie divs, wenn Sie die Breite auf 100% setzen und die Anzeige blockieren? – Shahid

+0

Block-Display ist eigentlich überflüssig, da sie divs sind, glaube ich. Nicht ganz sicher, ich verstehe, warum es immer noch so funktioniert, wie es tut, aber ... – Hamster

Antwort

1

bearbeiten
ändern .item { display: block; } zu .item { display: inline-block; }, nehmen .item { float:left; } weg und fügen text-align: center;-.container

Sie es hier sehen: http://jsfiddle.net/JMC_Creative/RQrRb/

Sie auch eine .inner div mit width:75%; margin: 0 auto; setzen könnte und dann setzen Sie Ihre .item s in dass, wenn Sie etwas Platz an den Seiten haben wollen.

+0

@Hamster: Überprüfen Sie die Bearbeitung – JakeParis

+1

Inline-Block? Ich wusste nicht einmal, dass es existiert ... Dumme W3Schulen. – Hamster

+0

Das wird nicht in allen Browsern funktionieren. Speziell IE6 und IE7 haben Buggy-Unterstützung. Siehe meine Antwort unten für eine wirklich browserübergreifende Implementierung. – sholsinger

0

.container {
width: 100%;
}

.item {
margin: 32px;
text-align: center;
}ausgerichtet sein,

+0

Dadurch werden alle '.item' Divs übereinander gestapelt. Das ist nicht das, wonach er sucht. – JakeParis

+0

In seinem Code .container Breite ist auf 100% gesetzt und .item ist Block. Ich dachte, er wollte .item divs aufgestapelt werden. – Shahid

Verwandte Themen