Detaillierte Erklärung der Lösung für HTML-Layout mit festen linken und rechten Breiten und adaptiver Mitte

Detaillierte Erklärung der Lösung für HTML-Layout mit festen linken und rechten Breiten und adaptiver Mitte

In diesem Artikel wird eine detaillierte Erläuterung der adaptiven HTML-Layoutlösung mit fester linker und rechter Breite in der Mitte vorgestellt und wie folgt mit allen geteilt:

a. Verwenden Sie ein schwebendes Layout

Die HTML-Struktur ist wie folgt

<div Klasse="Box">
    <div Klasse="links">links</div>
    <div class="right">richtig</div>
    <div class="center">Mitte</div>
</div>   
//Beachten Sie hier, dass zuerst die linken und rechten schwebenden Elemente und dann das mittlere Element gerendert werden sollten. Nachdem das Element schweben gelassen wurde, nehmen die verbleibenden Geschwisterelemente auf Blockebene die Breite des übergeordneten Elements ein <style>
   .Kasten{
        Höhe: 200px;
    }    
    .links{
        schweben: links;
        Breite: 300px;
    }
    .Rechts{
        schweben: rechts;
        Breite: 300px;
    }
</Stil>

b. Feste Positionierung verwenden

Die HTML-Struktur ist wie folgt

<div Klasse="Box">
    <div Klasse="links">links</div>
    <div class="right">richtig</div>
     <div class="center">Mitte</div>
</div> 
//Ähnlich wie beim schwebenden Layout werden zuerst die linken und rechten Elemente gerendert, sodass sie an den linken und rechten Enden des übergeordneten Elements positioniert sind und die verbleibenden mittleren Elemente die verbleibende Breite des übergeordneten Elements einnehmen.
<Stil>
    .Kasten{
        Position: relativ;
      }
      .links{
        Position: absolut;
        Breite: 100px;
        links: 0;
      }
      .Rechts{
        Breite: 100px;
        Position: absolut;
        rechts: 0;
      }
      .Center{
        Rand: 0 100 px;
        Hintergrund: rot;
      }
</Stil>

c. Tabellenlayout

Wenn Sie das übergeordnete Element auf „display:table“ und das untergeordnete Element auf „display:table-cell“ setzen, wird daraus ein Inline-Block.

Der Vorteil dieses Layouts ist die gute Kompatibilität.

<div Klasse="Box">
  <div Klasse="links">
    links
  </div>
  <div Klasse="Mitte">
    Center
  </div>
  <div Klasse="rechts">
    Rechts
  </div>
</div>
<Stil>
    .Kasten{
        Anzeige: Tabelle;
        Breite: 100 %;
      }
      .links{
        Anzeige: Tabellenzelle;
        Breite: 100px;
        links: 0;
      }
      .Rechts{
        Breite: 100px;
        Anzeige: Tabellenzelle;
      }
      .Center{
        Breite: 100 %;
        Hintergrund: rot;
      }
</Stil>

Flexibles Layout

Das übergeordnete Element display:flex und die untergeordneten Elemente werden alle in einer Zeile angeordnet.

Die Breite von flex:n im untergeordneten Element entspricht der Breite des übergeordneten Elements/n

Bei Flex:1 entspricht die Breite der Höhe des übergeordneten Elements.

Der Nachteil des elastischen Layouts besteht darin, dass es nicht kompatibel ist. Derzeit kann der IE-Browser das elastische Layout nicht verwenden.

<div Klasse="Box">
  <div Klasse="links">
    links
  </div>
  <div Klasse="Mitte">
    Center
  </div>
  <div Klasse="rechts">
    Rechts
  </div>
</div>
<Stil>
    .Kasten{
        Anzeige: Flex;
        Breite: 100 %;
      }
      .links{
      
        Breite: 100px;
        links: 0;
      }
      .Rechts{
        Breite: 100px;
      }
      .Center{
        biegen: 1;
      }
</Stil>

e. Rasterlayout

Übergeordnetes Element: Anzeige: Raster;

Rastervorlagenspalten: 100px automatisch 100px;

Das erste untergeordnete Element ist 100 Pixel breit, das zweite ist adaptiv und das dritte ist 100 Pixel breit.

Der Vorteil des Rasterlayouts besteht darin, dass es äußerst einfach ist und direkt vom übergeordneten Elementstil bestimmt wird. Der Nachteil besteht darin, dass es nicht sehr kompatibel ist.

<div Klasse="Box">
  <div Klasse="links">
    links
  </div>
  <div Klasse="Mitte">
    Center
  </div>
  <div Klasse="rechts">
    Rechts
  </div>
</div>
<Stil>
  .Kasten{
        Anzeige: Raster;
        Rastervorlagenspalten: 100px automatisch 100px;
        Breite: 100 %;
      }
</Stil>

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.

<<:  So lassen Sie eine https-Website den https-Referrer senden und den http-Referrer springen

>>:  Detailliertes Tutorial zur Installation von Docker auf CentOS 8

Artikel empfehlen

Detaillierte Zusammenfassung der Übermittlungsmethoden für Webformulare

Sehen wir uns zunächst verschiedene Möglichkeiten...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.22

Installation und Konfiguration von MySQL8.0.22 (s...

Lösung für das Fehlerproblem bei der Remote-Verbindung von Vscode zu Ubuntu

1. Hintergrund des Vorfalls: Aus Arbeitsgründen m...

So überwachen Sie Oracle-Datenbanken mit Zabbix Agent2

Überblick In Zabbix Version 5.0 und höher wurde e...

Hinweise zum Import, Export und zur Migration von MySQL Billions of Data

Ich habe in letzter Zeit viele MySQL-Notizen gema...

Vue.js Leistungsoptimierung N Tipps (es lohnt sich, sie zu sammeln)

Inhaltsverzeichnis Funktionskomponenten Aufteilun...

Beispiel für die Bereitstellung einer Laravel-Anwendung mit Docker

Das in diesem Artikel verwendete PHP-Basisimage i...

Zusammenfassung der Ereignisbehandlung im Vue.js-Frontend-Framework

1. v-on-Ereignisüberwachung Um DOM-Ereignisse abz...

So begrenzen Sie die Anzahl der Datensätze in einer Tabelle in MySQL

Inhaltsverzeichnis 1. Lösung auslösen 2. Partitio...

14 praktische Erfahrungen zur Reduzierung von SCSS-Code um 50 %

Vorwort Sass ist eine Erweiterung der CSS3-Sprach...

Zusammenfassung der Unterschiede zwischen Get- und Post-Anfragen in Vue

Die Betriebsumgebung dieses Tutorials: Windows 7-...

Fünf Lösungen für Cross-Browser-Probleme (Zusammenfassung)

Kurz zusammengefasst: Browserkompatibilitätsprobl...

React-Methode zum Anzeigen von Daten auf Seiten

Inhaltsverzeichnis Übergeordnete Komponente „list...

Vue implementiert eine kleine Wettervorhersageanwendung

Dies ist eine Website, die ich nachgeahmt habe, a...