2016-10-05 1 views
0

Ich versuche, untergeordneten Elemente gleichmäßig innerhalb ihrer Eltern zu verteilen. Ich kenne die text-align:justify und Flex-Methoden - ich verwende derzeit die Flex-Methode.Gleichmäßig verteilen divs horizontal in floated (oder Inline-Block) Eltern

Das Problem ist, dass mein Layout (ein Logo [rot] nach links, die float:left oder display:inline-block und eine Schaltfläche [schwarz] ist, das ist auf der rechten Seite und float:right) verlangt, dass die Flex-Mutter div float:left oder display:inline-block sein (so dass es sitzt zwischen dem Logo und dem Knopf), aber das Schweben oder Anzeigen des Inline-Blocks unterbricht die Flex-Verteilung, die ich für die Kinder angewendet habe.

Hier ist eine CodePen von wo ich so weit bin: http://codepen.io/dmoz/pen/QKaQrL

Dies ist ein Bild von dem, was ich brauche:

the goal

Irgendwelche Ideen?

Antwort

0

Ich habe Ihr CSS aktualisiert. Überprüfen Sie die Fiddle: https://jsfiddle.net/Lq89dwxL/

.header { 
    display: flex; 
    width: 100%; 
    height: 100px; 
    background: #f5f5f5; 
    margin: 0; 
    padding: 0 10px; 
    overflow: auto; 
} 
.logo { 
    width: 100px; 
    height: 30px; 
    margin: 8px 50px 10px 0; 
    background: red; 
} 
button { 
    width: 30px; 
    height: 30px; 
    margin: 8px 0 0 50px; 
    border: none; 
    background: black; 
} 
.item_container { 
    width:100%; 
    display: flex; 
    justify-content: space-between; 
    padding: 0 55px 0 15px; 
} 
.item { 
    width:25px; 
    height: 30px; 
    background: blue; 
    margin: 8px 5px; 
} 
+0

neugierig, warum Sie begann das Hinzufügen (scheinbar) zufällige Margen, da sie die Verteilung aus und macht wirft die Gegenstände ungleichmäßig. Ich habe Ihren JSFiddle hier optimiert, um ihn (möglicherweise) auf die Anfrage von OP zu reduzieren: https://jsfiddle.net/Lq89dwxL/1/ – Santi

+0

Sie können die Ränder ignorieren, es liegt an Ihnen. Das Problem war, sie inline zu machen, und es ist gelöst –

+0

Ich bin nicht OP - ich bin nur ein Passant. Ich fand es einfach komisch, dass du sein Logo geschrumpft und auf beiden Seiten eine ungleiche Polsterung hinzugefügt hast. Ich habe gerade Ihr Beispiel geändert, um die Größen so zu erhalten, wie sie im Beispiel von OP waren, und den Rand auf jeder Seite einheitlich gemacht. Sie haben das Problem gelöst, ich habe es nur geringfügig modifiziert. Gute Arbeit trotzdem. – Santi

Verwandte Themen