Я пытаюсь добиться эффекта, когда коробки с надписью «HALF» занимают только 50% ширины (они же разделяют первый ряд равномерно).Ширина управления отдельными детьми в гибком контейнере
Основная потребность в том, чтобы они оставались в одном контейнере. Можно ли это использовать с помощью flexbox?
Я пытался играть с flex-grow
, flex-shrink
и flex-basis
, но я боюсь, что я не понять, как заставить его работать, или, если это вообще возможно, учитывая одно требование контейнера.
Рассмотрим эту скрипку: http://jsfiddle.net/GyXxT/270/
div {
border: 1px solid;
}
.container {
width: 400px;
display: flex;
flex-direction: column;
}
.child {
height: 200px;
}
.child.half {
flex: 1 1 10em;
color: green;
}
.child:not(.half) {
flex-shrink: 2;
flex-basis: 50%;
color: purple;
}
<div class="container">
<div class="child half">
HALF
</div>
<div class="child half">
HALF
</div>
<div class="child">
FULL
</div>
<div class="child">
FULL
</div>
<div class="child">
FULL
</div>
<div class="child">
FULL
</div>
</div>
Хотя это правда, и что-то я совершенно упускается из виду, то Flexbox подход ближе к желаемый эффект. При ширине 50%, когда экран становится меньше, в какой-то точке 50% слишком мала. Подход flexbox просто опускает второй элемент, когда он не подходит, и это тот эффект, который я хочу. Ваш подход может быть воспринят с помощью медиа-запросов, но для меня достаточно гибкого окна. Спасибо, upvoted – parliament
@parliament Конечно, и спасибо ... обратите внимание, что, давая элементам 'half', минимальная ширина будет делать то же самое ... и в сочетании с медиа-запросом, который необходим обоим решениям, вы можете иметь их все в порядке с завернутыми – LGSon