Ich habe ein
<div class="parent">
<div class="child" style="float:right"> Ignore parent? </div>
<div> another child </div>
</div>
Der Elternteil hat
.parent {
display: flex;
}
Für mein erstes Kind möchte ich den Gegenstand einfach nach rechts schweben lassen.
Und meine anderen Divs folgen der vom Elternteil festgelegten Flex-Regel.
Ist das möglich?
Wenn nicht, wie mache ich einen float: right
Under Flex?
float
Eigenschaft nicht für Flex-Level-Boxen gilt.justify-self: end;
(oder ähnliches) nicht für das Kind? Dies scheint eine nicht so flexible Lösung für ein Flexbox-Problem zu sein.Sie brauchen keine Schwimmer. Tatsächlich sind sie nutzlos, da Floats in der Flexbox ignoriert werden .
Sie benötigen auch keine CSS-Positionierung.
Es stehen verschiedene Flex-Methoden zur Verfügung.
auto
Ränder wurden in einer anderen Antwort erwähnt .Hier sind zwei weitere Optionen:
justify-content: space-between
und dieorder
Eigenschaft.justify-content: space-between
und kehren Sie die Reihenfolge der Divs um..parent { display: flex; justify-content: space-between; } .parent:first-of-type > div:last-child { order: -1; } p { background-color: #ddd;}
<p>Method 1: Use <code>justify-content: space-between</code> and <code>order-1</code></p> <div class="parent"> <div class="child" style="float:right"> Ignore parent? </div> <div>another child </div> </div> <hr> <p>Method 2: Use <code>justify-content: space-between</code> and reverse the order of divs in the mark-up</p> <div class="parent"> <div>another child </div> <div class="child" style="float:right"> Ignore parent? </div> </div>
quelle