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

Lösung für VMware Workstation Pro, das unter Windows nicht läuft

Hat jemand von Ihnen nach dem Nationalfeiertag fe...

Praktisches Beispiel für verschachtelte Routen im vue.js Router

Inhaltsverzeichnis Vorwort Einrichten mit Vue CLI...

Prinzip und Implementierung der parallelen Replikation von MySQL5.7

Jeder, der ein wenig über Datenoperationen und -w...

Vue implementiert Multi-Grid-Eingabefeld auf mobilem Endgerät

Vor Kurzem hat das Unternehmen die Anforderung ge...

Datendiebstahl mit CSS in Firefox

0x00 Einführung Vor einigen Monaten habe ich eine...

Detaillierte Erklärung zur Verwendung von Bussen in Vue

Vue-Busmechanismus (Bus) Zusätzlich zur Verwendun...

Der Grund, warum MySQL den B+-Baum als zugrunde liegende Datenstruktur verwendet

Wir alle wissen, dass die zugrunde liegende Daten...

Implementierung zum Zeichnen einer Audio-Wellenform mit wavesurfer.js

1. Sehen Sie sich die Renderings an Weiterleiten ...

Aufrufen und Ausführen von Host-Docker-Operationen im Docker-Container

Zunächst einmal ist dieser Beitrag Docker-Neuling...

Analyse der Gründe, warum MySQL-Felddefinitionen nicht null verwenden sollten

Warum wird NULL so oft verwendet? (1) Javas Null ...

my.cnf-Parameterkonfiguration zur Optimierung der InnoDB-Engine-Leistung

Ich habe im Internet unzählige my.cnf-Konfigurati...