Próbuję osiągnąć efekt, w którym pola oznaczone jako "HALF", zajmują tylko 50% szerokości (równo dzielą pierwszy rząd równomiernie).Szerokość kontrolki poszczególnych dzieci w giętkim pojemniku
Podstawowym wymogiem jest to, że pozostają w jednym pojemniku. Czy można to osiągnąć za pomocą flexbox?
Próbowałem gry z flex-grow
, flex-shrink
i flex-basis
ale obawiam się, że nie mam zrozumienia sposobu, aby to działało, lub jeśli jest to w ogóle możliwe, biorąc pod uwagę wymóg pojedynczy pojemnik.
Rozważmy skrzypce: 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>
Chociaż jest prawdą, a coś zupełnie pomijane podejście schematu flexbox jest bliżej pożądany efekt. Przy 50% szerokości, gdy ekran jest mniejszy, w pewnym momencie 50% jest za małe. Podejście flexbox po prostu zmniejsza drugi element, gdy nie pasuje, co jest pożądanym efektem. Twoje podejście może być responsywne w przypadku zapytań o media, ale wystarczy mi flexbox. Dzięki, wznowione – parliament
@parliament Oczywiście i dzięki ... uwaga, poprzez podanie elementów "połowa" min-szerokość zrobi to samo ... i w połączeniu z zapytaniem o media, które oba rozwiązania potrzebują, możesz je mieć wszystkie są pełne, gdy są zapakowane – LGSon