У меня есть набор флажков, которые создаются в алфавитном порядке как элементы flexbox в flexbox в направлении строки:
Несмотря на то, что я указал ширину и высоту здесь, они не являются фиксированными и будут менятьсяпри изменении размера окна браузера.
<div style="width:500px; height:400px;">
<div style="background-color:#99F; display: flex; flex-direction:row; flex-wrap:wrap;">
<div style="border:1px solid #f00; min-width:170px; max-width:33%; flex:1 1 170px;"><input type="checkbox">Text A</div>
<div style="border:1px solid #f00; min-width:170px; max-width:33%; flex:1 1 170px;"><input type="checkbox">Text B</div>
<div style="border:1px solid #f00; min-width:170px; max-width:33%; flex:1 1 170px;"><input type="checkbox">Text C</div>
<div style="border:1px solid #f00; min-width:170px; max-width:33%; flex:1 1 170px;"><input type="checkbox">Text D</div>
<div style="border:1px solid #f00; min-width:170px; max-width:33%; flex:1 1 170px;"><input type="checkbox">Text E</div>
<div style="border:1px solid #f00; min-width:170px; max-width:33%; flex:1 1 170px;"><input type="checkbox">Text F</div>
<div style="border:1px solid #f00; min-width:170px; max-width:33%; flex:1 1 170px;"><input type="checkbox">Text G</div>
</div>
</div>
https://codepen.io/Stu42/pen/MWWvxYJ
Я настроил его так, чтобы он мог увеличиваться до трех столбцов или оставался одним илидва столбца, когда пространство ограничено:
min-width:170px; max-width:33%; flex:1 1 170px;
Я очень доволен этим отзывчивым поведением, но в идеале направление - column
вместо row
, чтобы поддерживать читаемость по алфавиту. Например: три столбца должны иметь вид:
A D G
B E
C F
А не:
A B C
D E F
G
Таким образом, вопрос в том, возможно ли (и если да, как) достичьтакое же поведение в направлении столбца, чтобы текст был в алфавитном порядке сверху вниз? Я обнаружил, что не могу сказать flexbox использовать все доступное горизонтальное пространство при указании направления column
.
Примечание. Изменение способа генерации текста не тривиально, особенно потому, что вы можете 'не знаю, сколько у вас столбцов;тем не менее, для полноты, вот как:
<div v-for="(item, index) in list_of_values" :key="index" ...