2016-07-13 8 views
1

Ich habe einen Behälter von verschiedener Breite, und verschiedene Anzahl von Boxen schweben darin. Alle Boxen haben die gleichen width und height.Wie zentriere ich linksbündige Elemente?

Dies ist eine Demonstration. https://jsfiddle.net/kghvmjb6/1/

Ich suche nach reiner CSS-Lösung, wenn möglich. Ansonsten sind reines javascript (keine jQuery) und CSS-Lösungen in Ordnung.

Dieses Beispiel funktioniert gut mit einer Reihe von Floating-Boxen, aber scheitern mit mehreren Zeilen, was nicht ich will. https://codepen.io/alexandredees/pen/ojaFr

+1

Dies ist möglich mit reinem CSS - aber Sie haben eine Reihe von Medien-Anfragen zu verwenden: http://stackoverflow.com/a/21245751/703717 – Danield

+0

@Danield Dank! Schließlich etwas Arbeit – wdetac

Antwort

0

Statt float der Verwendung left verwenden displayinline-block und in der Mutter div hinzufügen text-aligncenter, dass die Boxen in der container

Modified Fiddle

HTML

<div class="container"> 
<div class=""> 
    <div class="box">1</div> 
    <div class="box">2</div> 
    <div class="box">3</div> 
    <div class="box">4</div> 
    <div class="box">5</div> 
    <div class="box">6</div> 
    <div class="clear"></div> 
</div> 
</div> 

CSS

Zentrum wird

.container { 
    border: 1px solid red; 
    width: 480px; text-align:center; 
} 

    .container.wider { 
    width: 530px; 
    } 

.box { 
    float: none; 
    width: 80px; 
    height: 80px; 
    margin: 10px; 
    background-color: #ddd; 
    display:inline-block; 
    } 
+0

Dies wird nicht funktionieren, wie ich will. Wenn ich insgesamt 6 Boxen mit 4 Boxen in Zeile 1 und 2 Boxen in Zeile 2 habe, möchte ich Box 5 und 6 Platz rechts unter Box 1 und 2 – wdetac

+0

Benutze float left und setze den Rand von links rechts, um dies anzupassen. –

+0

Wie lege ich richtige Ränder fest? Die Breite des Containers ist unbekannt. – wdetac