Comment faire pour démarrer une nouvelle colonne dans flex colonne envelopper de mise en page

Je veux que mes données organisées en colonnes (de haut en bas, de gauche à droite) et chaque rubrique à l'intérieur les données doivent démarrer une nouvelle colonne. Il y a trois contraintes:

  • Devez utiliser flex (j'ai besoin d'utiliser une fonctionnalité spécifique à la flexion)
  • Ne peut pas regrouper les données (par exemple, envelopper tous les éléments de données à l'intérieur d'un div)
  • Ne peut pas définir la hauteur fixe

Ma question est comment puis-je force un saut de colonne à l'intérieur d'un flex-flow: column envelopper de mise en page?

CSS:

.grid {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
}
.grid .head {
  width: 25%;
  background: orange;
  border-bottom: thin dotted;
}
.grid .data {
  width: 25%;
  background: yellow;
  border-bottom: thin dotted;
}
/* my attempt to solve this */
.grid {
  height: 76px;
}

HTML:

<div class="grid">
  <div class="head">Column 1 (3 items)</div>
  <div class="data">item 1-1</div>
  <div class="data">item 1-2</div>
  <div class="data">item 1-3</div>
  <div class="head">Column 2 (4 items)</div>
  <div class="data">item 2-1</div>
  <div class="data">item 2-2</div>
  <div class="data">item 2-3</div>
  <div class="data">item 2-4</div>
  <div class="head">Column 3 (2 items)</div>
  <div class="data">item 3-1</div>
  <div class="data">item 3-2</div>
  <div class="head">Column 4 (1 items)</div>
  <div class="data">item 4-1</div>
</div>

  • C'est probablement l'habitude de répondre à vos besoins, mais j'ai fait ce avec la ligne par défaut de direction et de vide divs... c'est un peu sale.
  • Seriez-vous intéressé à une solution qui utilise column-count? Flex et le nombre de colonnes n'est pas de bien jouer ensemble, mais peut-être que si flex est appliquée sur un élément parent, vous pourriez être en mesure d'utiliser les deux
  • Cela ne marchera pas pour moi, mais ça pourrait aider quelqu'un d'autre avec le même problème.
InformationsquelleAutor Salman A | 2014-11-25