2016-04-29 14 views
-1

Ich habe alle Arten von Kombinationen von Rand versucht: 0 Auto, Display, Breite usw. und ich kann nicht meinen Container auf dem Bildschirm zu zentralisieren. Ich bin in der "Geige herum, bis es funktioniert" Bühne, aber mir sind die Ideen ausgegangen.Center einen Container voller divs

Ich habe einen Container (ein Div), der 6 divs enthält (könnte später erhöhen), die jeweils ein Tortendiagramm enthalten. Ich möchte, dass die Diagramme zentral ausgerichtet werden und sich je nachdem, wie sie auf den Bildschirm passen, voneinander trennen. Zum Beispiel, wenn Platz für 3 breit ist, würde ich sie 3 mal 2 mal tief haben, aber horizontal zentralisiert. Wenn es nur Platz für 1 gibt, dann 1 Breite mal 6 Tiefe, aber immer noch die eine horizontal zentriert.

Sie sortieren sich korrekt, z. B. 3 x 2 oder 2 x 3, aber sie sind gegen den linken Rand gedrückt und ich kann nicht herausfinden, wie sie zu zentralisieren.

Meine CSS am mo (was nicht funktioniert) ist:

#container { 
    margin : 0 auto; 
    display : inline-block; 
} 

#chart { 
    float : left; 
} 
+0

Haben Sie suchen SO für diese? http://stackoverflow.com/search?q=center+div+enthaltend+divs – Rob

+0

Ich habe SO gesucht, aber die Seite, die Sie verknüpft haben, hat ich nicht gelesen und eine Lösung, die funktioniert. #container { Breite: 100%; Textausrichtung: Mitte; } #chart { Anzeige: Inline-Block; } – Farflame

+0

Mögliche Duplikate von [Horizontal zentrieren ein div in einem div] (http://stackoverflow.com/questions/114543/horizontal-center-a-div-in-a-div) –

Antwort

0

Verwenden

display: block; 

statt

display: inline-block; 
1
#container { 
    text-align: center; 
} 

#chart { 
    display: inline-block; 
} 
+0

Danke, scheint die einfachste Lösung zu sein und es funktioniert :) – Farflame

0

Flex hat die meisten Fähigkeit Hier.

HTML:

<div class="container"> 
    <div class="child"></div> 
    <div class="child"></div> 
    <div class="child"></div> 
    <div class="child"></div> 
    <div class="child"></div> 
    <div class="child"></div> 
</div> 

CSS:

.container { 
    /* We first create a flex layout context */ 
    display: flex; 

    /* Then we define the flow direction and if we allow the items to wrap 
    * Remember this is the same as: 
    * flex-direction: row; 
    * flex-wrap: wrap; 
    */ 
    flex-flow: row wrap; 

    /* Then we define how is distributed the remaining space */ 
    justify-content: space-around; 
} 

.child { 
    display: inline-block; 
    height: 200px; 
    width: 200px; 
    margin: 5px; 
    border: 2px solid red; 
} 

Fiddle: https://jsfiddle.net/0rq78w7r/1/

CSS Tricks Flex

Verwandte Themen