Beispielcode für CSS-Layout an beiden Enden (unter Verwendung des negativen Rands des übergeordneten Elements)

Beispielcode für CSS-Layout an beiden Enden (unter Verwendung des negativen Rands des übergeordneten Elements)

Kürzlich stieß ich während des Entwicklungsprozesses auf ein Layout, das an beiden Enden ausgerichtet war. Das Layout basierte auf Prozentsätzen. Ich hatte zuvor ein flexibles Layout verwendet, aber bei der Verwendung eines flexiblen Layouts an beiden Enden traten alle möglichen Fehler auf. Wenn beispielsweise Folgendes dynamisch generiert wird, verteilen drei oder mehr Spalten die folgende Liste auf beide Seiten.
Obwohl das Problem gelöst werden kann, möchte ich dennoch sehen, wie das Layout mit normalem CSS gestaltet wird. Weil ich das geschrieben habe.

Ich habe online einige Tutorials gefunden und in allen waren die Breiten für die Operationen fest vorgegeben. Ich habe es ins Prozentformat umgewandelt und einfach aufgezeichnet.
Erstens CSS

<Stil>
        * {
            Polsterung: 0px;
            Rand: 0px;
            Box-Größe: Rahmenbox;
        }
        
        .max-box {
            maximale Breite: 1200px;
            Rand: 0px automatisch;
        }
        
        .Kasten {
            Überlauf: versteckt;
            Breite: berechnet (100 % + 20 Pixel);
            Rand links: -10px;
        }
        
        .inner {
            Höhe: 100px;
            Rand: durchgehend 1 Pixel rot;
            schweben: links;
            Rand links: 10px;
            Breite: berechnet (((100 % – 20 Pixel) – 10 Pixel * 3)/4);
        }
        
        .max-box2 {
            maximale Breite: 1200px;
            Rand: 50px automatisch;
            Rand: durchgehend 1 Pixel rot;
            Höhe: 200px;
        }
    </Stil>

Dann weiter zu html

 <div Klasse="max-box2">

    </div>
    <div Klasse="max-box">
        <div Klasse="Box">
            <div Klasse="inner">

            </div>
            <div Klasse="inner">

            </div>
            <div Klasse="inner">

            </div>
            <div Klasse="inner">

            </div>
        </div>
    </div>

Fügen Sie diese in HTML ein und Sie können die Wirkung sehen.
Wie unten gezeigt

Bildbeschreibung hier einfügen

Fassen wir abschließend die Formel zusammen

x = 10px; d. h. der gewünschte Abstand y = 4, d. h. die gewünschte Anzahl von Zeilen Übergeordnetes Element: Breite: calc(100 % + (x * 2));
Kind: Breite: calc(((100% - (x * 2)) - x * ( y - 1)) / y );

Zusammenfassen

Dies ist das Ende dieses Artikels über CSS-Layout – Zwei-Enden-Layout (unter Verwendung des negativen Rands des übergeordneten Elements). Weitere relevante Inhalte zum negativen Rand des übergeordneten CSS-Layouts finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

<<:  Die konkrete Umsetzung des JavaScript-exklusiven Denkens

>>:  Lösung für das Problem der unvollständigen Anzeige des Inhalts der ausgewählten Dropdown-Box in HTML und der teilweisen Abdeckung

Artikel empfehlen

MySQL-Lernaufzeichnung: Blutiger Vorfall durch KEY-Partition verursacht

Nachfragehintergrund Ein Teil der Daten in der Ge...

Einige Indikatoren für exzellentes Web-Frontend-Design

Die Barrierefreiheit von Webseiten scheint etwas z...

Detailliertes Tutorial zum Bereitstellen von Jenkins basierend auf Docker

0. Als ich dieses Dokument erstellte, war es unge...

Tutorial zur Verwendung des iostat-Befehls unter Linux

Vorwort Es wird gesagt, dass sich die für Betrieb...

Lösung für das Problem, dass Centos8 Docker nicht installieren kann

Problem [root@zh ~]# [root@zh ~]# [root@zh ~]# yu...

Beispiel für die Verwendung von JS, um zu bestimmen, ob ein Element ein Array ist

Hier sind die Arten von Daten, die überprüft werd...

Das native VIDEO-Tag der HTML-Seite verbirgt die Download-Button-Funktion

Beim Schreiben eines Webprojekts stieß ich auf ei...

Warum verwendet der MySQL-Datenbankindex den B+-Baum?

Bevor wir weiter analysieren, warum der MySQL-Dat...

Lösung für Nginx-Installationsfehler

1. Entpacken Sie nginx-1.8.1.tar.gz 2. Entpacken ...

Benutzerdefinierte Docker-Netzwerkimplementierung

Inhaltsverzeichnis 1. Passen Sie das Netzwerk an,...

Detaillierte Einführung in das CSS-Prioritätswissen

Bevor wir über die CSS-Priorität sprechen, müssen...

Detaillierte Erklärung der MySQL-Datengruppierung

Gruppe erstellen Die Gruppierung wird in der GROU...