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

Vue implementiert Login-Sprung

In diesem Artikelbeispiel wird der spezifische Co...

Natives js imitiert die Pulldown-Aktualisierung eines Mobiltelefons

In diesem Artikel wird der spezifische Code von j...

Implementierung der MySQL-Datensortierung (aufsteigend und absteigend)

Datensortierung aufsteigend, absteigend 1. Sortie...

Detaillierte Erklärung der MySQL-Dreiwertelogik und NULL

Inhaltsverzeichnis Was ist NULL Zwei Arten von NU...

4 Möglichkeiten zur Optimierung von MySQL-Abfragen für Millionen von Daten

Inhaltsverzeichnis 1. Der Grund, warum das Limit ...

Ein kurzer Überblick über CSS3-Pseudoklassenselektoren

Vorwort Wenn CSS die Grundfertigkeit der Front-En...

Ein Beispiel für die Umgestaltung eines Puzzlespiels mit vue3

Vorwort Es dauerte zwei Tage, um ein Puzzlespiel ...

jQuery-Plugin zur Implementierung des Dashboards

Das jQuery-Plug-In implementiert das Dashboard zu...