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

Detaillierte Einführung in die JavaScript-Funktion

Durch Funktionen lassen sich beliebig viele Anwei...

Einfaches Verständnis und Beispiele für MySQL Index Pushdown (ICP)

Vorwort Index Condition Pushdown (ICP) ist eine n...

Detaillierte Erklärung der MySQL InnoDB-Indexerweiterung

Indexerweiterung: InnoDB erweitert automatisch je...

Analyse der Anweisungsausführungsreihenfolge von SQL und MySQL

Ich bin heute auf ein Problem gestoßen: Kann ich ...

Einfaches Beispiel für den Grenzwertparameter der MySQL-Paging

Zwei Parameter der MySQL-Paging Wählen Sie * aus ...

So entfernen Sie „Enter“, „Senden“ und „Enter != Senden“ aus dem Formular

Um das Problem „Eingeben != Absenden“ zu implement...

So fügen Sie Batchdaten unter Node.js in eine MySQL-Datenbank ein

Im Projekt (nodejs) müssen mehrere Daten gleichze...

Detaillierter Beispielcode einer MySQL-Batch-Einfügeschleife

Hintergrund Als ich vor einigen Tagen Paging in M...

Implementierung der Vue-Nuxt-Anmeldeauthentifizierung

Inhaltsverzeichnis einführen Link Start Gehen Sie...