mam
<div class="parent">
<div class="child" style="float:right"> Ignore parent? </div>
<div> another child </div>
</div>
Rodzic ma
.parent {
display: flex;
}
W przypadku mojego pierwszego dziecka chcę po prostu przesunąć przedmiot w prawo.
I inne moje elementy div zgodnie z regułą flex ustawioną przez rodzica.
Czy to jest możliwe?
Jeśli nie, jak mam zrobić float: right
under flex?
float
właściwość nie dotyczy pudełek na poziomie flex.justify-self: end;
(lub coś podobnego) nie działa dla dziecka? Wydaje się, że jest to niezbyt elastyczne rozwiązanie problemu z flexboxem.Nie potrzebujesz pływaków. W rzeczywistości są bezużyteczne, ponieważ elementy pływające są ignorowane w flexbox .
Nie potrzebujesz też pozycjonowania CSS.
Dostępnych jest kilka metod elastycznych.
auto
marginesy zostały wymienione w innej odpowiedzi .Oto dwie inne opcje:
justify-content: space-between
iorder
własność.justify-content: space-between
i odwróć kolejność elementów div..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>
źródło