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

Vorteile und Probleme des XHTML CSS Website Designs

XHTML ist die derzeit international verbreitete S...

Beispiel für die Konfiguration von nginx zur Implementierung von SSL

Umgebungsbeschreibung Serversystem: Ubuntu 18.04 ...

So platzieren Sie große Bilder auf kleinem Raum einer Webseite

Originalquelle: www.bamagazine.com Enge Bereiche ...

Designtheorie: Menschenorientiertes Green Design

Überlegungen zu den beiden Sichtweisen „menscheno...

Implementierung der Installation und Deinstallation von CUDA und CUDNN in Ubuntu

Inhaltsverzeichnis Vorwort Installieren des Grafi...

Gedanken zu copy_{to, from}_user() im Linux-Kernel

Inhaltsverzeichnis 1. Was ist copy_{to,from}_user...

Übersicht über die Definition der HTC-Komponenten nach IE5.0

Vor der Veröffentlichung von Microsoft IE 5.0 best...

Import-, Export-, Sicherungs- und Migrationsvorgänge für Docker-Images

Export: docker save -o centos.tar centos:latest #...

Beispiel zum Referenzieren von Umgebungsvariablen in Docker Compose

In einem Projekt müssen Sie häufig Umgebungsvaria...