Detaillierte Erklärung des Konflikts zwischen Flex-Layout und Position: absolut/fest

Detaillierte Erklärung des Konflikts zwischen Flex-Layout und Position: absolut/fest

Ich bin bei der Entwicklung eines Projekts schon einmal auf dieses Problem gestoßen: den Konflikt zwischen flexiblem Layout und Position: absolut/fest. Später ist mir eine Lösung eingefallen, die ich heute mit Ihnen teilen möchte:

Projektpraxis:

Jetzt möchten wir oben eine Navigationsleiste erstellen und sie mit „Fest“ oben fixieren und ihren internen Stil mit einem flexiblen Box-Layout festlegen. Dabei stellen wir jedoch fest, dass das flexible Box-Layout fehlgeschlagen ist.

Der HTML-Code lautet wie folgt:

<ul>
    <li>Über den Verein</li>
    <li>Satzung des Vereins</li>
    <li>Vereinsstruktur</li>
    <li>Downloads</li>
</ul>

Der CSS-Code lautet wie folgt:

ul {
	Position: fest;
  	Anzeige: Flex;
    Inhalt ausrichten: Abstand dazwischen;
    Rand: 0 15 px;
    Hintergrund: rosa;
}
li {
    biegen: 1;
    Listenstil: keiner;
    Höhe: 100px;
    Zeilenhöhe: 100px;
    Textausrichtung: zentriert;
    Schriftgröße: 30px;
    Rand: 1px durchgezogen #fff;
}

Die Wirkung ist wie folgt:


Wir stellen fest, dass das flexible Box-Layout fehlgeschlagen ist. Wie lösen wir also dieses Problem?
Eigentlich ist es ganz einfach. Sie müssen lediglich eine weitere Box außerhalb der UL platzieren. Anschließend wird die äußere Box positioniert und die innere Box normal mithilfe von Flexbox angelegt.

Der HTML-Code nach der Änderung lautet:

<div Klasse="Navigationsbox">    
    <ul>
        <li>Über den Verein</li>
        <li>Satzung des Vereins</li>
        <li>Vereinsstruktur</li>
        <li>Downloads</li>
    </ul>
</div>

Der CSS-Code nach der Änderung lautet:

.nav-box {
    Breite: 100 %;
    Position: fest; 
}
ul {
    Anzeige: Flex;
    Inhalt ausrichten: Abstand dazwischen;
    Rand: 0 15 px;
    Hintergrund: rosa;
}
li {
    biegen: 1;
    Listenstil: keiner;
    Höhe: 100px;
    Zeilenhöhe: 100px;
    Textausrichtung: zentriert;
    Schriftgröße: 30px;
    Rand: 1px durchgezogen #fff;
}

Zu diesem Zeitpunkt haben wir festgestellt, dass das Problem gelöst wurde!

Dies ist das Ende dieses Artikels zum Konflikt zwischen Flex-Layout und Position:absolut/fest. Weitere Informationen zum Konflikt zwischen Flex und Position:absolut/fest finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den verwandten Artikeln weiter unten. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Einführung in die grundlegenden Konzepte und Technologien der Webentwicklung

>>:  Lernen Sie MySQL Index Pushdown in fünf Minuten

Artikel empfehlen

Einfache Schritte zum Schreiben benutzerdefinierter Anweisungen in Vue3.0

Vorwort Vue bietet eine Fülle integrierter Anweis...

Detaillierte Erklärung der Rolle von Klammern in AngularJS

1. Die Rolle der Klammern 1.1 Eckige Klammern [ ]...

Javascript-Countdown-Eingabeaufforderungsfeld

In diesem Artikelbeispiel wird der spezifische Ja...

Mehrere Elemente in derselben Zeile unter Div in CSS rechtsbündig ausrichten

Methode 1: schweben: rechts Darüber hinaus wird d...

So aktualisieren Sie CentOS7 auf CentOS8 (detaillierte Schritte)

Dieser Artikel erläutert anhand eines konkreten B...

Beispiel einer Vorrendering-Methode für eine Vue-Einzelseitenanwendung

Inhaltsverzeichnis Vorwort vue-cli 2.0 Version vu...

So installieren Sie MySQL unter Linux (Yum und Quellcode-Kompilierung)

Es gibt zwei Möglichkeiten, MySQL unter Linux zu ...

Zusammenfassung zur Verwendung der Bootstrap-Tabelle

In diesem Artikel erfahren Sie, wie Sie die Boots...

Verwenden Sie xshell, um eine Verbindung zum Linux-Server herzustellen

Vorteile der Verwendung von xshell zur Verbindung...

So erhalten Sie USB-Scannerdaten mit js

In diesem Artikel wird der spezifische Prozess zu...