Center float-Boxen horizontal
Möchte ich einige anzeigen floating-Boxen (divs mit thumbnails) und die Anzahl der Bilder hängt von der aktuellen Seitengröße. Zum Beispiel:
<div class="container">
<div class="box1" style="float:left;width:120px;height:120px;margin-right:10px;">Thumbnail image here</div>
<div class="box2" style="float:left;width:120px;height:120px;margin-right:10px;">Thumbnail image here</div>
<div class="box3" style="float:left;width:120px;height:120px;margin-right:10px;">Thumbnail image here</div>
<div class="box4" style="float:left;width:120px;height:120px;margin-right:10px;">Thumbnail image here</div>
.......... ETC
</div>
das problem ist, dass für eine gegebene Breite zeigt es zum Beispiel 4 Boxen in jeder Zeile, aber Sie sind alle Links ausgerichtet, und es gibt einige weißen Raum auf der rechten Seite, wie kann ich den center horizontal für jede Zeile??
Etwas wie dieses: http://realworldstyle.com/thumbs_3.html aber mit Boxen horizontal zentriert auf der Seite...
vielen Dank im Voraus,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sorry, aber nicht in der Lage zu tun, was Sie wollen, gerade mit CSS + HTML. (Werfen Sie einen Blick auf @Pekka für eine alternative, obwohl, wenn die Reihe von miniaturen nicht füllen Sie die gesamte Zeile, würden Sie zentriert werden, indem Sie sich auf die Letzte Zeile),
Würden Sie brauchen, um eine Feste Breite, die auf das übergeordnete Objekt
.container
mitmargin-left: auto
undmargin-right:auto
was du nicht machen, weil es ist eine Flüssigkeit, die Breite Seite.Hier ist, wie ich gehen würde, es zu tun, obwohl es sicher ein paar bugs, die Sie benötigen, zu umgehen:
window.resize
Veranstaltungdiv.container
werden, dass die Breite plus die wenig Marge auf der rechten Seite. Diesediv
immer einmargin-left
undmargin-right
vonauto
Dies zentriert die miniaturen so gut wie möglich. Je nach Ihrer visuellen anzeigen, benötigen Sie möglicherweise eine zusätzliche Umhüllung div um die
100% width
hintergrund.text-align: center
die Letzte Zeile würde nicht in ein raster mit den vorherigen Zeilen. Seit der OP genannten "thumbnails" ich nahm an, es war etwas, auf das ein konsistentes raster ist wichtig.Ich denke, der einzige Weg, um die Elemente zentriert ist, arbeiten nicht mit float, sondern die Einstellung der Bilder
display: inline
. Auf diese Weise können Sie ausrichten, dass Sie am Willen mit dem übergeordneten containertext-align
Eigenschaft.Aber das wird Ihnen zusätzliche Probleme mit vertikalen Ränder und Einstellung der Höhe. Aber soweit ich weiß, ist es die einzige zuverlässige cross-browser-solange
inline-block
ist nicht weitgehend unterstützt werden.Verwenden Sie eine unsortierte Liste mit den inline-Elemente auflisten:
HTML:
CSS:
Dass Sie tun, solange Sie nicht auf block-level-Elemente innerhalb der LI-Elemente. Funktioniert auch, wenn Sie mehr als eine Reihe von Bildern 😉 kann Man auch div ' s aber eine Liste ist semantisch noch viel schöner.
inline-block und auto-Margen auf .container sollten den trick tun für die meisten Browser mit vielleicht text-align:center auf den Körper als auch.
Und wenn IE6 und IE7 spielen nicht schön, Sie können immer mit javascript /jquery wickeln Sie das ganze in eine Tabelle nur für Sie.
Wohlgemerkt, ich würde es nicht Wagen deuten auf eine Tisch-Lösung für normale Browser, obwohl es offensichtlich funktioniert einwandfrei 😉
Style margin: 0 auto; zentrieren Sie das element. Aber Sie müssen geben Sie die Breite des übergeordneten Containers.