CSS Multirow layout - horizontal statt vertikal?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • CSS Multirow layout - horizontal statt vertikal?

    Hallo Leute,

    ich möchte ein Tabellenlayout als Formular-Design verwenden.
    Sprich: ich habe ein paar Textfelder die befüllt und abgeschickt werden sollen und diese möchte ich schön untereinander und nebeneinander anzeigen lassen.

    Mit CSS habe ich bereits 'column-count' in einem Container (DIV) verwendet in welchen die Subcontainer (ebenfalls DIV-Elemente) 'display: inline-block' verwendet haben.

    Und je nachdem welchen Wert man für 'column'count' angegeben hat, wurde nach entsprechend vielen Subcontainern umgebrochen.

    Genau so etwas würde ich wieder verwenden wollen, jedoch möchte ich nicht horizontal rechts 'fliessen' sondern vertikal nach unten 'fliessen'.

    Also statt
    1 2 3
    4 5 6
    7 8

    So:
    1 4 7
    2 5 8
    3 6

    geht das mit CSS oder muss ich 'old school' eine Tabelle verwenden?

  • #2
    HTML-Code:
    <div class="container">
        <div class="item">1</div>
        <div class="item">2</div>
        <div class="item">3</div>
        <div class="item">4</div>
        <div class="item">5</div>
        <div class="item">6</div>
        <div class="item">7</div>
        <div class="item">8</div>
    </div>
    Code:
    .container {
        display: flex;
        flex-flow: column wrap;
        height: 3em;
    }
    .container > .item {
        line-height: 1em;
    }
    https://jsfiddle.net/nzjf0u34/

    Kommentar


    • #3
      @h3ll

      Danke erst einmal für deine Antwort.
      Ich habe dennoch ein kleines Problemchen:
      nachdem ich dein Code ausprobiert hatte mit den Zahlen als Items hat das auch gut geklappt wie in deinem Beispiel.
      Als ich ein Div-Container als Inhalt gesetzt habe, war plötzlich wieder alles in einer Zeile.

      Also statt:
      HTML-Code:
      <div class="container">
          <div class="item">1</div>
          <div class="item">2</div>
      </div>
      HTML-Code:
      <div class="container">
          <div class="item">
              <div class="sub_item">Label 1</div>
              <input class="input_textbox" type="text" name="irgendwas1">
          </div>
          <div class="item">
              <div class="sub_item">Label 2</div>
              <input class="input_textbox" type="text" name="irgendwas2">
          </div>
      </div>
      Die CSS-Class 'sub_item' hat lediglich folgendes:
      Code:
      div.sub_item {
          font-weight:        700;
          font-size:          1.25em;
          padding:            0.25em;
      }
      Wieso ist das plötzlich wieder alles in einer Zeile? Die Container-Ebene auf die es ankommt ist die gleiche Ebene wie in dem Beispiel. Das ich in den Container 2 weitere Elemente habe dürfte doch nichts durcheinander bringen, oder?

      Kommentar


      • #4
        https://jsfiddle.net/nzjf0u34/2/

        Kommentar

        Lädt...
        X