Mehrere gängige Methoden für CSS-Layouts mit gleicher Höhe

Mehrere gängige Methoden für CSS-Layouts mit gleicher Höhe

Gleichhohes Layout

Bezieht sich auf das Layout von untergeordneten Elementen mit gleicher Höhe im gleichen übergeordneten Container.

Aus der Perspektive der Implementierung eines Layouts gleicher Höhe kann es in zwei Kategorien unterteilt werden

Pseudohöhe

Der Höhenunterschied der Unterelemente bleibt zwar bestehen, optisch erwecken sie jedoch das Gefühl gleich groß zu sein.

Wahre Höhe

Unterelemente haben die gleiche Höhe

Schauen wir uns zunächst die Implementierungsmethode für pseudogleiche Höhe an

Implementiert durch negative Ränder und Polsterung

Echte Implementierung gleicher Höhe

  • Tisch
  • absolut
  • biegen
  • Netz
  • js

Pseudogleiche Höhe – negativer Rand und Abstand

Es wird hauptsächlich durch negative Margen implementiert. Informationen zur spezifischen Implementierung negativer Margen finden Sie im folgenden Artikel

 <div Klasse="übergeordnetes Layout">
        <div Klasse="left"><p>links</p></div>
        <div Klasse="Mitte">
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
        </div>
        <div class="right"><p>richtig</p></div>
        <div Stil="clear: beide;">111111111111</div>
    </div>
.Elternteil{
    Position: relativ;
    Überlauf: versteckt;
    Farbe: #efefef;
}
.Center,
.links,
.Rechts {
    Box-Größe: Rahmenbox;
    schweben: links;
}
.Mitte {
    Hintergrundfarbe: #2ECC71;
    Breite: 60%;
}

.links {
    Breite: 20 %;
    Hintergrundfarbe: #1ABC9C;
}
.Rechts {
    Breite: 20 %;
    Hintergrundfarbe: #3498DB;
}
.links,
.Rechts,
.Mitte {
    Rand unten: -99999px;
    Polsterung unten: 99999px;
}

Echte gleiche Höhe - Tabellenlayout

  <div Klasse="übergeordnetes Layout">
        <div Klasse="left"><p>links</p></div>
        <div Klasse="Mitte">
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
        </div>
        <div class="right"><p>richtig</p></div>
        <div Stil="clear: beide;">111111111111</div>
    </div>
    .Elternteil{
        Position: relativ;
        Anzeige: Tabelle;
        Farbe: #efefef;
    }
    .Center,
    .links,
    .Rechts {
        Box-Größe: Rahmenbox;
        Anzeige: Tabellenzelle
    }
    .Mitte {
        Hintergrundfarbe: #2ECC71;
        Breite: 60%;
    }

    .links {
        Breite: 20 %;
        Hintergrundfarbe: #1ABC9C;
    }
    .Rechts {
        Breite: 20 %;
        Hintergrundfarbe: #3498DB;
    }

Wahre Kontur - Absolut

    <div Klasse="übergeordnetes Layout">
        <div class="left"><p>links</p> </div>
        <div Klasse="Mitte">
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
        </div>
        <div class="right"><p>richtig</p></div>
    </div>
   .Elternteil{
        Position: absolut;
        Farbe: #efefef;
        Breite: 100 %;
        Höhe: 200px;
    }

    .links,
    .Rechts,
    .Mitte {
        Position: absolut;
        Box-Größe: Rahmenbox;
        oben: 0;
        unten: 0;
    }
    .Mitte {
        Hintergrundfarbe: #2ECC71;
        links: 200px;
        rechts: 300px;
    }

    .links {
        Breite: 200px;
        Hintergrundfarbe: #1ABC9C;
    }
    .Rechts {
        rechts:0;
        Breite: 300px;
        Hintergrundfarbe: #3498DB;
    }
  

Wahre Höhe - Flex

.Elternteil{
    Anzeige: Flex;
    Farbe: #efefef;
    Breite: 100 %;
    Höhe: 200px;
}

.links,
.Rechts,
.Mitte {
    Box-Größe: Rahmenbox;
    biegen: 1;
}
.Mitte {
    Hintergrundfarbe: #2ECC71;
}
.links {
    Hintergrundfarbe: #1ABC9C;
}
.Rechts {
    Hintergrundfarbe: #3498DB;
}
<div Klasse="übergeordnetes Layout">
    <div class="left"><p>links</p> </div>
    <div Klasse="Mitte">
        <p>Ich bin der Inhalt im Mittelteil</p>
        <p>Ich bin der Inhalt im Mittelteil</p>
        <p>Ich bin der Inhalt im Mittelteil</p>
        <p>Ich bin der Inhalt im Mittelteil</p>
    </div>
    <div class="right"><p>richtig</p></div>
</div>

Wahre Höhe - Raster

    .Elternteil{
        Anzeige: Raster;
        Farbe: #efefef;
        Breite: 100 %;
        Höhe: 200px;
        Rastervorlagenspalten: 1fr 1fr 1fr;
    }

    .links,
    .Rechts,
    .Mitte {
        Box-Größe: Rahmenbox;
    }
    .Mitte {
        Hintergrundfarbe: #2ECC71;
    }
    .links {
        Hintergrundfarbe: #1ABC9C;
    }
    .Rechts {
        Hintergrundfarbe: #3498DB;
    }
<div Klasse="übergeordnetes Layout">
    <div class="left"><p>links</p> </div>
    <div Klasse="Mitte">
        <p>Ich bin der Inhalt im Mittelteil</p>
        <p>Ich bin der Inhalt im Mittelteil</p>
        <p>Ich bin der Inhalt im Mittelteil</p>
        <p>Ich bin der Inhalt im Mittelteil</p>
    </div>
    <div class="right"><p>richtig</p></div>
</div>

Wahre Höhe-js

Holen Sie sich die höchste Spalte aller Elemente, vergleichen und ändern Sie sie
    <div Klasse="übergeordnetes Layout">
        <div class="left"><p>links</p> </div>
        <div Klasse="Mitte">
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
            <p>Ich bin der Inhalt im Mittelteil</p>
        </div>
        <div class="right"><p>richtig</p></div>
    </div>
    .Elternteil{
        Überlauf: automatisch;
        Farbe: #efefef;
    }
    .links,
    .Rechts,
    .Mitte {
        schweben: links;
    }
    .Mitte {
        Breite: 60%;
        Hintergrundfarbe: #2ECC71;
    }
    .links {
        Breite: 20 %;
        Hintergrundfarbe: #1ABC9C;
    }
    .Rechts {
        Breite: 20 %;
        Hintergrundfarbe: #3498DB;
    }
     // Höhe des höchsten Elements abrufen var nodeList = document.querySelectorAll(".parent > div");
    var arr = [].slice.call(nodeList,0);
    var maxHeight = arr.map(Funktion(Element){
        gibt item.offsetHeight zurück
    }).sort(Funktion(a, b){
        gib a - b zurück;
    }).Pop();
    arr.map(Funktion(Element){
        wenn(item.offsetHeight < maxHeight) {
            item.style.height = maxHeight + "px";
        }
    }); 

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.

<<:  Teilen Sie eine Idee zum Aufbau eines Master-Slave-Systems für eine große MySQL-Datenbank

>>:  Einführung in die Farbabstimmung von Königsblau für Webdesign

Artikel empfehlen

Informationen zum CSS-Floating und zum Aufheben des Floatings

Definition von Float Setzt das Element aus dem no...

So verwenden Sie Typescript zum Kapseln von lokalem Speicher

Inhaltsverzeichnis Vorwort Szenarien für die Verw...

Schritte für Docker zum Erstellen eines privaten Lagerhafens

Hafen Harbor ist eine Open-Source-Lösung zum Erst...

Eine kurze Zusammenfassung meiner Erfahrungen beim Schreiben von HTML-Seiten

Es sind drei oder vier Monate vergangen, seit ich ...

Nginx-Inhaltscache und allgemeine Parameterkonfigurationsdetails

Anwendungsszenarien: Die Seiten des Projekts müss...

JS-Funktionsaufruf, Anwenden und Binden einer superdetaillierten Methode

Inhaltsverzeichnis JS-Funktionsaufruf, Apply- und...

Der gesamte Prozess der Optimierung des ersten Ladens einer Vue-Seite

Inhaltsverzeichnis Vorwort 1. Bildoptimierung 2. ...

Lösung für 1067, wenn Mysql in Windows startet

Ich habe erst vor ein paar Tagen mit der Arbeit b...

JavaScript implementiert eine Warteschlange mit doppeltem Ende

In diesem Artikelbeispiel wird der spezifische Co...

Lösung für das Problem der Zeilenhöhe der Elementtabellenkopfzeile

Inhaltsverzeichnis Vorwort 1. Ursache des Problem...