Heim > Web-Frontend > CSS-Tutorial > CSS Flexbox und Grid: Die Kunst, responsive Layouts zu erstellen

CSS Flexbox und Grid: Die Kunst, responsive Layouts zu erstellen

Patricia Arquette
Freigeben: 2024-12-20 11:03:11
Original
343 Leute haben es durchsucht

CSS Flexbox and Grid: The Art of Building Responsive Layouts

Flex Flexibles Layout

Anzeige: Flex

Aktivieren Sie den Flex-Layoutmodus. Legen Sie ein Element als Flex-Container fest und seine direkten untergeordneten Elemente werden zu Flex-Elementen.

.container {
    display: flex;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Flex-Richtung

Definiert die Hauptachsenrichtung (die Richtung der Artikelanordnung). Optionale Werte:

  • Reihe (Standard): horizontal, von links nach rechts.
  • Zeilenumkehr: horizontal, von rechts nach links.
  • Spalte: vertikal, von oben nach unten.
  • Spaltenumkehr: vertikal, von unten nach oben.
.container {
    flex-direction: row | row-reverse | column | column-reverse;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Flexfolie

Steuert, ob umgebrochen wird, wenn in einer Zeile nicht genügend Platz vorhanden ist. Optionale Werte:

  • nowrap (Standard): kein Wrap, Artikel können über den Container hinauslaufen.
  • Umbruch: Umbruch, Elemente werden in mehreren Reihen angeordnet.
  • wrap-reverse: Umbruch, die erste Zeile befindet sich unten und die nachfolgenden Zeilen werden nach oben angeordnet.
.container {
    flex-wrap: nowrap | wrap | wrap-reverse;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Rechtfertigungsinhalt

Definiert die Ausrichtung auf der Hauptachse. Optionale Werte:

  • Flex-Start (Standard): Elemente werden am Startpunkt ausgerichtet.
  • flex-end: Elemente werden am Endpunkt ausgerichtet.
  • Mitte: Elemente werden in der Mitte ausgerichtet.
  • Abstand zwischen den Gegenständen: Verteilen Sie den Abstand zwischen den Gegenständen gleichmäßig. Der erste und der letzte Gegenstand werden jeweils an den Enden des Behälters befestigt.
  • Rundum-Abstand: Verteilen Sie den Abstand zwischen den Gegenständen gleichmäßig, der Abstand auf beiden Seiten der Gegenstände ist gleich.
  • Platzgleichmäßig: Verteilen Sie die Abstände zwischen den Artikeln gleichmäßig. Der Abstand zwischen den Artikeln und dem Rand des Behälters sowie zwischen den Artikeln ist gleich.
.container {
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

align-items

Definiert die Ausrichtung auf der Querachse. Optionale Werte:

  • Strecken (Standard): Elemente werden gedehnt, um die gesamte Querachse auszufüllen.
  • Flex-Start: Elemente werden am Anfang der Querachse ausgerichtet.
  • Flex-Ende: Elemente werden am Ende der Querachse ausgerichtet.
  • Mitte: Elemente werden auf der Querachse zentriert.
  • Grundlinie: Elemente werden nach Grundlinie ausgerichtet.
.container {
    align-items: stretch | flex-start | flex-end | center | baseline;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Inhalt ausrichten

Funktioniert nur im mehrzeiligen Flex-Layout (Flex-Wrap: Wrap), definiert die Ausrichtung mehrzeiliger Elemente auf der Querachse. Optionale Werte:

  • Strecken (Standard): Jede Zeile wird gedehnt, um die gesamte Querachse auszufüllen.
  • Flex-Start: Jede Reihe wird am Anfang der Querachse ausgerichtet.
  • Flex-Ende: Jede Reihe wird am Ende der Querachse ausgerichtet.
  • Mitte: Jede Zeile wird an der Mitte der Querachse ausgerichtet.
  • Abstand dazwischen: Verteilen Sie den Abstand zwischen den einzelnen Reihen gleichmäßig, und die erste und letzte Reihe werden jeweils an den beiden Enden des Behälters befestigt.
  • Abstand: Verteilen Sie den Abstand zwischen den einzelnen Reihen gleichmäßig, und der Abstand auf beiden Seiten der Reihe ist gleich.
.container {
    display: flex;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Befehl

Definiert die Reihenfolge der Elemente. Je kleiner der Wert, desto höher die Ordnung. Der Standardwert ist 0.

.container {
    flex-direction: row | row-reverse | column | column-reverse;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Flex-Grow

Definiert das Vergrößerungsverhältnis des Elements. Der Standardwert ist 0, was bedeutet, dass keine Vergrößerung erfolgt. Wenn alle Elemente auf Werte ungleich Null eingestellt sind, wird der verbleibende Speicherplatz proportional verteilt.

.container {
    flex-wrap: nowrap | wrap | wrap-reverse;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Flex-Schrumpf

Definiert das Schrumpfungsverhältnis des Artikels. Der Standardwert ist 1, was bedeutet, dass er verkleinert werden kann. Wenn alle Elemente auf Werte ungleich Null eingestellt sind, werden sie proportional verkleinert, um ein Überlaufen des Containers zu verhindern.

.container {
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Flex-Basis

Definiert die anfängliche Größe des Elements, bevor der verbleibende Platz verteilt wird. Akzeptiert Längen-, Prozent-, Auto- (Standard) oder Inhaltswerte.

.container {
    align-items: stretch | flex-start | flex-end | center | baseline;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

biegen

Abkürzung für Flex-Grow, Flex-Shrink und Flex-Basis. Standardmäßig ist 0 1 automatisch.

.container {
    align-content: stretch | flex-start | flex-end | center | space-between | space-around;
}
Nach dem Login kopieren
Nach dem Login kopieren

align-self

Überschreibt die align-items-Eigenschaft des Containers, um die Ausrichtung eines einzelnen Elements auf der Querachse zu definieren. Die optionalen Werte sind die gleichen wie bei align-items.

.item {
    order: <integer>;
}
Nach dem Login kopieren

Raster-Raster-Layout

Anzeige: Raster;

Schalten Sie den Rasterlayoutmodus ein. Legen Sie ein Element als Rastercontainer fest und seine direkten untergeordneten Elemente werden zu Rasterelementen (Zellen).

.item {
    flex-grow: <number>; /* Default is 0 */
}
Nach dem Login kopieren

Rastervorlagenspalten und Rastervorlagenzeilen

Definieren Sie die Größe der Spalten- und Zeilenspuren des Rasters. Akzeptiert Länge, Prozentsatz, fr (Brucheinheit, die den Bruchteil des Rasterraums darstellt) oder automatische Werte. Sie können auch die Funktion „repeat()“ verwenden, um wiederholte Titel zu erstellen, und die Funktion „minmax()“, um die minimale und maximale Größe des Titels zu definieren.

.item {
    flex-shrink: <number>; /* defaults to 1 */
}
Nach dem Login kopieren

Rastervorlagenbereiche

Definieren Sie den Bereich des Rasterlayouts, indem Sie das Element benennen und die Rasterstruktur mit einer Zeichenfolge beschreiben. Der Artikelname verwendet . um eine leere Zelle darzustellen.

.item {
    flex-basis: <length> | <percentage> | auto | content;
}
Nach dem Login kopieren

Gitterlücke oder Gitterspaltenlücke und Gitterzeilenlücke

Legen Sie den Abstand zwischen den Elementen im Raster fest. Akzeptiert Längen- oder Prozentwerte.

.container {
    display: flex;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Grid-Auto-Spalten und Grid-Auto-Zeilen

Definieren Sie die Spurgröße neu hinzugefügter Zeilen oder Spalten beim automatischen Füllen des Rasters. Wird wirksam, wenn das Element den definierten Rasterbereich überschreitet.

.container {
    flex-direction: row | row-reverse | column | column-reverse;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Grid-Auto-Flow

Steuert, wie Rasterelemente automatisch gefüllt und angeordnet werden. Optionale Werte:

  • Zeile (Standard): zeilenweise füllen.
  • Spalte: spaltenweise füllen.
  • dicht: Wenn eine Zeile oder Spalte mit dicht verwendet wird und Lücken im Raster vorhanden sind, versuchen neue Elemente, diese Lücken zu füllen, anstatt sie einfach am Ende des Rasters hinzuzufügen.
.container {
    flex-wrap: nowrap | wrap | wrap-reverse;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Rasterspaltenanfang, Rasterspaltenende, Rasterzeilenanfang und Rasterzeilenende

Geben Sie manuell die Start- und Endpositionen von Elementen im Raster an.

.container {
  justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

Gitterfläche

Kurzschrift-Eigenschaft zum gleichzeitigen Festlegen von Grid-Row-Start, Grid-Column-Start, Grid-Row-End und Grid-Column-End oder zum Verweisen auf den in Grid-Template-Areas definierten Bereichsnamen.

.container {
    align-items: stretch | flex-start | flex-end | center | baseline;
}
Nach dem Login kopieren
Nach dem Login kopieren
Nach dem Login kopieren

CSS Grid kombiniert mit Flexbox

In einigen Fällen können wir die Vorteile von CSS Grid und Flexbox kombinieren, um komplexere responsive Layouts zu erstellen.

.container {
    align-content: stretch | flex-start | flex-end | center | space-between | space-around;
}
Nach dem Login kopieren
Nach dem Login kopieren

Zuerst wird CSS Grid verwendet, um ein Rasterlayout mit adaptiver Spaltenbreite zu erstellen. Jedes Rasterelement (untergeordnetes Element) verwendet Flexbox im Inneren, um den Inhalt vertikal zu zentrieren. Wenn die Bildschirmbreite weniger als 768 Pixel beträgt, wechselt die Medienabfrage zu einem einspaltigen Layout, um sie an mobile Geräte anzupassen.

Flexbox vs. Grid-Auswahl

Die Wahl der Verwendung von Flexbox oder Grid hängt normalerweise von den spezifischen Anforderungen ab:

  • Flexbox eignet sich für die Handhabung eindimensionaler Layouts, wie z. B. die Anordnung von Elementen in Zeilen oder Spalten sowie die Ausrichtung und Auffüllung von Elementen.
  • CSS Grid eignet sich besser für die Handhabung zweidimensionaler Layouts wie Tabellen oder komplexer Rasterlayouts und für die präzise Zellsteuerung.

Das obige ist der detaillierte Inhalt vonCSS Flexbox und Grid: Die Kunst, responsive Layouts zu erstellen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage