CSS-Techniken zum Erreichen eines mehrspaltigen Layouts gleicher Höhe, das das Frontend beherrschen sollte

CSS-Techniken zum Erreichen eines mehrspaltigen Layouts gleicher Höhe, das das Frontend beherrschen sollte

1. Einleitung

Beim Schreiben einer Seite stoßen wir manchmal auf ein mehrspaltiges Layout. Der Inhalt in jeder Spalte kann manchmal unterschiedlich sein, was dazu führt, dass die tatsächliche Höhe jeder Spalte unterschiedlich ist. Wenn jede Spalte eine Hintergrundfarbe hat, ist der untere Teil jeder Spalte falsch ausgerichtet und die Benutzererfahrung ist nicht sehr gut!

Die eigentliche Problemauswirkung ist wie folgt:

2. Die Anforderungen sind wie folgt

Wir möchten sicherstellen, dass jede Spalte unabhängig vom tatsächlichen Inhalt der einzelnen Spalten ausgerichtet ist.

3. So lösen Sie das Problem

Der HTML-Code lautet wie folgt:

<ul Klasse="Artikel">
    <li Klasse="js-equalheight">
      <p>
      Ein Makler, der die Interessen seiner Kunden in den Mittelpunkt stellt.
      Stellen Sie seinen Kunden professionelle Handelstools zur Verfügung. Ein Broker, bei dem die Interessen der Kunden an erster Stelle stehen.
      Stellen Sie seinen Kunden professionelle Handelstools zur Verfügung. Ein Broker, bei dem die Interessen der Kunden an erster Stelle stehen.
      Bieten Sie Ihren Kunden professionelle Handelstools Ein Broker, der die Interessen seiner Kunden in den Vordergrund stellt und seinen Kunden professionelle Handelstools zur Verfügung stellt</p>
    </li>
    <li Klasse="js-equalheight">
      <p>Ein Broker, der die Interessen seiner Kunden in den Vordergrund stellt und seinen Kunden professionelle Handelstools zur Verfügung stellt. Ein Broker, der die Interessen seiner Kunden in den Vordergrund stellt und seinen Kunden professionelle Handelstools zur Verfügung stellt.</p>
    </li>
    <li Klasse="js-equalheight">
      <p>Ein Makler, der die Interessen seiner Kunden in den Mittelpunkt stellt</p>
    </li>
  </ul>

(1) Reine CSS-Lösung

Der CSS-Code lautet wie folgt:

.Artikel{
  Überlauf: versteckt;
}

.Artikel>li{
  schweben: links;
  Rand: 0 10px -9999px 0;
  Polsterung unten: 9999px;
  Hintergrund: #4577dc;
  Breite: 200px;
  Farbe: #fff;
}

.Artikel>li>p{
  Polsterung: 10px;
}

Analyse und Erklärung: Der Padding-Bottom des Elements sollte so groß wie möglich sein, und ein negativer Margin-Bottom-Wert derselben Größe sollte festgelegt werden, um den durch den Padding-Bottom vergrößerten Bereich auszugleichen. Die positiven und negativen Werte gleichen sich gegenseitig aus und haben keine Auswirkungen auf das Seitenlayout. Darüber hinaus müssen Sie auch das übergeordnete Element „overflow: hidden“ festlegen, um den zusätzlichen Farbblockhintergrund des untergeordneten Elements auszublenden. Die obige CSS-Lösung weist keine Kompatibilitätsprobleme auf, sodass Sie sie bedenkenlos verwenden können.

(2) js-Lösung

Der JS-Code lautet wie folgt:

jQuery( Dokument ).bereit(Funktion() {
  gleiche Höhe();
});

jQuery(Fenster).Größe ändern(Funktion() {
  jQuery('.js-equalheight').css('Höhe','auto');
  gleiche Höhe();
});

Funktion gleiche Höhe() {
  var Höhen = jQuery(".js-equalheight").map(Funktion() {
    gibt jQuery(diese).Höhe() zurück;
  }).erhalten(),

  maxHeight = Math.max.apply(null, Höhen);

  jQuery(".js-equalheight").height(maxHeight);
}

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.

<<:  Schritte zur Installation von MySQL 8.0.23 unter Centos7 (Anfängerstufe)

>>:  React implementiert eine mehrkomponentige Wertübertragungsfunktion über Conetxt

Artikel empfehlen

js verwendet die Reduce-Methode, um Ihren Code eleganter zu gestalten

Vorwort In tatsächlichen Projekten kann die häufi...

Lösung für das Problem des achtstündigen Unterschieds bei der MySQL-Einfügezeit

Lösen Sie das Problem des achtstündigen Zeitunter...

Konfigurationsmethode für die VMware Kali-Umgebung virtueller Maschinen

1|0 Kompilieren Sie den Kernel (1) Führen Sie den...

Lösung für das Problem des MySQL-Master-Slave-Switch-Kanals

Nach der VIP-Konfiguration wird beim Aktiv/Standb...

Eine kurze Diskussion über das Design des Tomcat-Mehrschichtcontainers

Inhaltsverzeichnis Containerhierarchie Der Prozes...

Eine kurze Diskussion über die Verwendung und Analyse von Nofollow-Tags

Kontroverse um Nofollow Zwischen Zac und Guoping ...

Installieren Sie Linux mithilfe einer virtuellen VMware-Maschine (CentOS7-Image).

1. VMware herunterladen und installieren Verknüpf...

Ubuntu 19.04 Installationstutorial (Schritte in Bild und Text)

1. Vorbereitung 1.1 Laden Sie VMware 15 herunter ...

js, um einen einfachen Akkordeoneffekt zu erzielen

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

Vier Möglichkeiten zum Erstellen von Objekten in JS

Inhaltsverzeichnis 1. Objekte durch Literalwert e...