Detaillierte Erläuterung der Probleme und Lösungen beim flexiblen Mehrspaltenlayout

Detaillierte Erläuterung der Probleme und Lösungen beim flexiblen Mehrspaltenlayout

Das Flex-Layout ist zweifellos einfach und leicht zu verwenden. Es macht unser Layout einfacher und schneller. Ich glaube jedoch, dass viele Leute bei der Verwendung von Flex für ein mehrspaltiges Layout auf die folgende Situation stoßen werden:

Dies geschieht, weil wir justify-content: space-between verwenden. Der Grund für die Verwendung dieser Einstellung ist, dass wir den Abstand zwischen den Elementen nicht speziell berechnen müssen, Flex berechnet ihn für uns. Aus diesem Grund tritt jedoch die obige Situation auf, wenn wir in der nächsten Zeile nicht genügend Elemente haben. Dann ist das Problem klar. Es wird durch nicht genügend Elemente in der letzten Zeile verursacht. Dann können wir uns überlegen, der letzten Zeile ein leeres Element hinzuzufügen, um Platz einzunehmen. Dadurch kann das obige Problem perfekt gelöst werden:

Hier verwenden wir Pseudoelemente, um Platzhalter zu erstellen. Beachten Sie, dass Pseudoelemente nur die Breite festlegen müssen, niemals die Höhe. Die Einzelheiten lauten wie folgt:

.container::nach{
      Inhalt: '';
      Breite: 320px;
    }

Die Wirkung ist wie folgt:

Wir werden jedoch feststellen, dass wir bei der Entwicklung von Displays nicht nur auf dreispaltige Layouts stoßen, sondern auch auf vier- und fünfspaltige Layouts. Offensichtlich funktioniert der obige Ansatz derzeit nicht. Wie lässt sich das Problem also lösen? Die Lösung ist auch sehr einfach. Das Prinzip ist dasselbe. Verwenden Sie leere Elemente, um Platz zu belegen. Dieses Mal werden wir keine Pseudoelemente verwenden. Wir verwenden echte DOM-Elemente für den Betrieb:

Schreiben Sie vorab eine Zeile leerer Elemente: wie folgt

<div Klasse="Container">
    <div Klasse="Box">1</div>
    <div Klasse="Box">2</div>
    <div Klasse="Box">2</div>
    <div Klasse="Box">2</div>
    <div Klasse="Box">2</div>
    <div Klasse="Box">2</div>
    <div Klasse="Box">2</div>
    <div Klasse="Box">2</div>
    <div Klasse="Box">2</div>
    <div Klasse="Box">2</div>
    <!-- Trennlinie (unten ist das leere Element, das ich vorab geschrieben habe) -->
    <div Klasse="Box"></div>
    <div Klasse="Box"></div>
    <div Klasse="Box"></div>
    <div Klasse="Box"></div>
    <div Klasse="Box"></div>
    <div Klasse="Box"></div>
    <div Klasse="Box"></div>
  </div>

Entsprechende CSS-Einstellungen:

div:leer{
      Höhe: 0;
      Breite: 160px;
      Rand: keiner;
    }

Die Wirkung ist wie folgt:

Zu diesem Zeitpunkt werden wir feststellen, dass wir unser ursprüngliches Problem unabhängig von der Anzahl der Spalten perfekt lösen können.

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird.

<<:  Detaillierte Erläuterung der MySQL-Optimierung für Schreibprobleme im großen Maßstab

>>:  Auf Wiedersehen Docker: So wechseln Sie in 5 Minuten zu Containerd

Artikel empfehlen

JavaScript-Implementierung des klassischen Schlangenspiels

In diesem Artikel wird der spezifische JavaScript...

4 Möglichkeiten zum Anzeigen von Prozessen in LINUX (Zusammenfassung)

Ein Prozess ist ein Programmcode, der in der CPU ...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 5.5.27 winx64

1. Installationspaket MySQL-Dienst-Downloadadress...

So zeigen Sie ein kleines Symbol vor der Browser-URL an

Wenn Sie viele Websites durchsuchen, werden Sie fe...

JavaScript-Makrotasks und Mikrotasks

Makrotasks und Mikrotasks JavaScript ist eine Sin...

DOCTYPE Dokumenttypdeklaration (unbedingt lesenswert für Webseiten-Liebhaber)

DOCTYPE-DEKLARATION: Oben auf jeder Seite, die Sie...

Teilen Sie 13 grundlegende Syntax von Typescript

Inhaltsverzeichnis 1. Was ist Ts 2. Grundlegende ...

Beispielcode zur Implementierung eines bildadaptiven Containers mit CSS

Es gibt häufig Szenarien, in denen das Bild an di...

Mybatis implementiert Details zum Abfangen und Ändern von SQL-Abfragen

Vorwort Eine der Funktionen eines Interceptors be...

vite2.x implementiert das On-Demand-Laden von Ant-Design-Vue@next-Komponenten

1. Version verwenden vite:2.0 Ant-Design-Vue: 2.0...

So installieren Sie den Xrdp-Server (Remote Desktop) unter Ubuntu 20.04

Xrdp ist eine Open-Source-Implementierung des Rem...

favico.ico --- Schritte zum Einrichten des Website-ICO-Symbols

1. Laden Sie die erfolgreich generierte Symboldate...