Das adaptive CSS-Layout realisiert die Gesamtzentrierung von Unterelementelementen und die Linksausrichtung von internen Elementen

Das adaptive CSS-Layout realisiert die Gesamtzentrierung von Unterelementelementen und die Linksausrichtung von internen Elementen

Bei der täglichen Arbeit stoßen wir möglicherweise auf ein Layout wie dieses: Ein übergeordneter Elementrahmen (anpassende Breite wie die Browsergröße) enthält viele Schaltflächen, und dann müssen diese Schaltflächen (feste Breite) im übergeordneten Element zentriert werden und der Gesamtinhalt der Schaltflächen wird von links nach rechts angeordnet. Hier ist eine Lösung, das Beispiel sieht wie folgt aus:

Dort findet sich folgender Code:

<div Klasse="wrap">
    <button class="btn">1</button>
    <button class="btn">2</button>
    <button class="btn">3</button>
    <button class="btn">4</button>
    <button class="btn">5</button>
    <button class="btn">6</button>
    <button class="btn">7</button>
</div>

Das entsprechende CSS lautet:

.wickeln {
    Rand: 2px tief schwarz;
    Rand: 0 automatisch;
    Polsterung: 10px;
    Breite: 40%;
}
.btn {
    Gliederung: keine;
    Rand: keiner;
    Breite: 180px;
    Höhe: 30px;
    Hintergrundfarbe: Kornblumenblau;
    Rand: 5px;
}

Anzeigeeffekt:

Anzeigeeffekt 1

Dynamisch veränderliche Breite:

Breitenvariation 1

Wie man sieht, wird bei der Verkleinerung des Browserfensters die Breite des übergeordneten Elements (schwarze Box) dynamisch angepasst und seine untergeordneten Elemente werden ebenfalls dynamisch entsprechend der Breite des übergeordneten Elements angeordnet. Die Button-Gruppe ist im übergeordneten Container jedoch linksbündig ausgerichtet. Wenn wir das Ganze zentriert halten möchten, können wir Folgendes tun:

CSS Code:

.wickeln {
    Rand: 2px tief schwarz;
    Rand: 0 automatisch;
    Polsterung: 10px;
    Breite: 40%;
    Anzeige: Raster;
    Rastervorlagenspalten: Wiederholen (automatisches Ausfüllen, 200 px);
    Inhalt ausrichten: zentriert;
}
.btn {
    Gliederung: keine;
    Rand: keiner;
    Breite: 180px;
    Höhe: 30px;
    Hintergrundfarbe: Kornblumenblau;
    Rand: 5px;
}

Setzen Sie die display des übergeordneten Elements auf grid , die Rasterspaltenvorlage auf „Automatisches Ausfüllen“ und die Breite auf 200px (die Breite kann hier etwas größer sein als bei einem einzelnen Schaltflächenelement). Setzen Sie anschließend justify-content auf „ center “, um den Inhalt horizontal zu zentrieren. Die Wirkung ist wie folgt:

Anzeigeeffekt 2

Dynamisch wechselnde Effekte:

Breitenvariante 2

Es ist ersichtlich, dass während des Breitenänderungsprozesses das Teilelement als Ganzes immer zentriert geblieben ist.

Um diesen Effekt nur mit CSS zu erzielen, habe ich nur daran gedacht, ein Raster zu verwenden. Wenn Sie andere Methoden haben, hinterlassen Sie bitte eine Nachricht und lernen Sie gemeinsam ~

Tipp: Die Kompatibilität von Grid ist derzeit nicht sehr gut. Wenn Sie ältere Browserversionen unterstützen müssen, verwenden Sie es mit Vorsicht!

Kompatibilität

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 Master-Slave-Replikation und der Lese-/Schreibtrennung

>>:  So reduzieren Sie den Speicherverbrauch und die CPU-Auslastung von Webseiten

Artikel empfehlen

Ein kurzes Verständnis der Unterschiede zwischen MySQL InnoDB und MyISAM

Vorwort MySQL unterstützt viele Arten von Tabelle...

Beispiele für die Verwendung von React Ref

Inhaltsverzeichnis Was ist ref So verwenden Sie r...

Detaillierte Erklärung der Mixins in Vue.js

Mixins stellen auf flexible Weise verteilte, wied...

MySQL fragt den aktuellsten Datensatz der SQL-Anweisung ab (Optimierung)

Die schlechteste Option besteht darin, die Ergebn...

Drei nützliche Codes, damit sich Besucher an Ihre Website erinnern

Drei nützliche Codes, die Besuchern dabei helfen,...

Ein Beispiel, wie Tomcat Session verwaltet

Sie haben ConcurrentHashMap gelernt, wissen aber ...

Implementierung eines Redis Master-Slave-Clusters basierend auf Docker

Inhaltsverzeichnis 1. Ziehen Sie das Redis-Image ...

Spezifische Verwendung von useRef in React

Ich glaube, dass Leute, die Erfahrung mit React h...

Lösung zum Ändern des Datenspeicherorts der Datenbank in MySQL 5.7

Da die in der MySQL-Datenbank gespeicherten Daten...

Eine Liste der Fallstricke beim regulären JS-Matching

Ich habe vor Kurzem eine Falle bei der regulären ...

So implementieren Sie die Vue-Bindungsklasse und den Inline-Bindungsstil

Inhaltsverzeichnis Bindungsklasse Inline-Stile bi...

Reiner CSS-Beispielcode für Meteorschauer-Hintergrund

GitHub-Adresse, Sie können es mit einem Stern mar...