Heim  >  Fragen und Antworten  >  Hauptteil

Wie kann ich mithilfe von CSS dafür sorgen, dass die untere Flex-Spalte die Artikelreihenfolge beibehält?

Ich habe eine horizontal zentrierte Flex-Artikelspalte, sortiert von 1 bis 5, ausgerichtet von der Oberseite des Containers, etwa so:

body, html {
  height: 100%;
  position: relative;
  margin: 0;
  padding: 0;
}
.container {
  display: inline-flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-items: flex-end;
  align-content: center;
  width: 100%;
  height: 100%;
  background: pink;
}
.item {
  margin: 1px;
  width: 30px;
  height: 30px;
  background: green;
}
<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>

Ich möchte, dass es mit dem Boden des Behälters übereinstimmt. Ich habe dies mit flex-direction: column-reverse; wie im nächsten Snippet geschafft:

body, html {
  height: 100%;
  position: relative;
  margin: 0;
  padding: 0;
}
.container {
  display: inline-flex;
  flex-wrap: wrap;
  flex-direction: column-reverse;
  align-items: flex-end;
  align-content: center;
  width: 100%;
  height: 100%;
  background: pink;
}
.item {
  margin: 1px;
  width: 30px;
  height: 30px;
  background: green;
}
<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>

Aber wie Sie sehen können, sind diese Artikel fehlerhaft! Gibt es eine Möglichkeit, unten eine Flex-Spalte zu haben, ohne die Reihenfolge der Elemente mithilfe von CSS umzukehren? Ich habe bisher alle mir bekannten Flex-Eigenschaften ausprobiert, ohne Erfolg.

P粉277464743P粉277464743194 Tage vor304

Antworte allen(2)Ich werde antworten

  • P粉420958692

    P粉4209586922024-03-31 10:59:39

    您需要使用 justify-content 属性沿主轴对齐内容(在您的情况下是垂直对齐)。您正在使用 align-items ,它定义了项目应如何沿交叉轴对齐。

    body, html {
      height: 100%;
      position: relative;
      margin: 0;
      padding: 0;
    }
    .container {
      display: inline-flex;
      flex-wrap: wrap;
      flex-direction: column;
      justify-content: flex-end;
      align-content: center;
      width: 100%;
      height: 100%;
      background: pink;
    }
    .item {
      margin: 1px;
      width: 30px;
      height: 30px;
      background: green;
    }
    1
    2
    3
    4
    5

    Antwort
    0
  • P粉269530053

    P粉2695300532024-03-31 10:25:56

    您可以使用 justify-content: end;

    .container {
      width: 150px;
      height: 150px;
      border: 1px solid black;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: end;
    }
    
    .content {
      width: 25px;
      height: 25px;
      border: 1px solid black;
    }
    1
    2
    3
    4
    5

    Antwort
    0
  • StornierenAntwort