у меня есть
<div class="parent">
<div class="child" style="float:right"> Ignore parent? </div>
<div> another child </div>
</div>
У родителя есть
.parent {
display: flex;
}
Для своего первого ребенка я хочу просто переместить предмет вправо.
И другие мои div, чтобы следовать правилу гибкости, установленному родителем.
Возможно ли это?
Если нет, как мне сделать float: right
недогружение?
float
свойство не распространяется на блоки гибкого уровня.justify-self: end;
(или что-то подобное) не работает для ребенка? Это похоже на не очень гибкое решение проблемы с flexbox.Вам не нужны поплавки. Фактически, они бесполезны, потому что float игнорируются в flexbox .
Вам также не нужно позиционирование CSS.
Доступно несколько методов гибкости.
auto
поля были упомянуты в другом ответе .Вот еще два варианта:
justify-content: space-between
иorder
собственность.justify-content: space-between
и измените порядок 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>
источник