So starten Sie eine neue Spalte in flex Spalte wrap-layout

Ich möchte, dass meine Daten in Spalten angeordnet sind (von oben nach unten, von Links nach rechts) und jede Position innerhalb der Daten beginnen soll eine neue Spalte. Es gibt drei Einschränkungen:

  • Verwenden müssen, flex (ich brauchen, um eine spezielle Funktion für die flex)
  • Nicht gruppieren der Daten (z.B. wickeln Sie alle Daten-items in einem div)
  • Keine Feste Höhe

Meine Frage ist, wie kann ich Kraft ein Spaltenumbruch innerhalb einer flex-flow: column wrap-layout?

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>

  • Dies wird wahrscheinlich nicht passen Ihre Bedürfnisse, aber ich habe dieses mit der Standard-Reihe von Richtung und leeren divs... es ist ein bisschen schmutzig.
  • Wären Sie daran interessiert, eine Lösung, die über column-count? Flex-und column-count nicht gut zusammen spielen, aber vielleicht, wenn flex angewendet wird, auf ein übergeordnetes element, die Sie vielleicht in der Lage sein, Sie beide zu verwenden
  • Das wird nicht für mich arbeiten, aber es könnte helfen, jemand anderes mit ähnlichen problem.
InformationsquelleAutor Salman A | 2014-11-25
Schreibe einen Kommentar