Heim Web-Frontend CSS-Tutorial Sechs klassische CSS-Lösungen für das dreispaltige Layout

Sechs klassische CSS-Lösungen für das dreispaltige Layout

Dec 04, 2017 pm 01:32 PM
css 方案

CSS ist eine unverzichtbare Sprache für unsere Front-End-Entwicklungsprogrammierer. Die gute Beherrschung von CSS kann die Front-End-Entwicklungsarbeit erheblich verbessern. In diesem Artikel wird hauptsächlich das klassische CSS-Dreispalten-Layoutschema vorgestellt und mit allen geteilt.

Dreispaltiges Layout ist, wie der Name schon sagt, auf beiden Seiten fixiert und in der Mitte adaptiv. Dreispaltiges Layout ist in der Entwicklung sehr verbreitet

1. Float-Layout

Das einfachste dreispaltige Layout ist die Verwendung von Float als Layout. Zeichnen Sie zunächst die linke und rechte Spalte:

    <style>
      .left {
        float: left;
        width: 100px;
        height: 200px;
        background-color: red;
      }
    
      .right {
        float: right;
        width: 100px;
        height: 200px;
        background-color: yellow;
      }
    </style>
      
      <p class="container">
        <p class="left"></p>
        <p class="right"></p>
        <p class="main"></p>
      </p>
Nach dem Login kopieren

Zu diesem Zeitpunkt können Sie die Verteilung der linken und rechten Spalte erhalten:

Als nächstes schauen wir uns an, wie man mit der mittleren Spalte umgeht. Wir wissen, dass Float-Elemente aus dem Dokumentenfluss ausbrechen und andere Boxen dieses Element ignorieren. (Aber der Text in anderen Feldern macht immer noch Platz für dieses Element und umgibt es.) Zu diesem Zeitpunkt müssen Sie also nur ein normales p in den Container-Container einfügen, das links und rechts ignoriert und den gesamten Container ausfüllt. Darüber hinaus kann der Rand nach links und rechts verschoben werden, um den Raum auszufüllen:

   <style>
      .left {
        float: left;
        width: 100px;
        height: 200px;
        background-color: red;
      }
    
      .right {
        float: right;
        width: 100px;
        height: 200px;
        background-color: yellow;
      }
    
      .main {
        background-color: green;
        height: 200px;
        margin-left: 120px;
        margin-right: 120px;
      }
    
      .container {
        border: 1px solid black;
      }
    
      <p class="container">
      <p class="left"></p>
      <p class="right"></p>
      <p class="main"></p>
      </p>
Nach dem Login kopieren

Vorteile: Einfach

Nachteile: Der mittlere Teil wird zuletzt geladen, was sich bei vielen Inhalten auf das Erlebnis auswirkt

2 BFC-Regeln

BFC ( Die Regeln des Blockformatierungskontexts legen Folgendes fest: BFC mischt sich nicht mit Gleitkommaelementen. Elemente überlappen sich. Wenn Sie also das Hauptelement als BFC-Element festlegen:

    <style>
      .left {
        float: left;
        width: 100px;
        height: 200px;
        background-color: red;
      }
    
      .right {
        float: right;
        width: 100px;
        height: 200px;
        background-color: yellow;
      }
    
      .main {
        background-color: green;
        height: 200px;
        overflow: hidden;
      }
    
      <p class="container">
        <p class="left"></p>
        <p class="right"></p>
        <p class="main"></p>
      </p>
Nach dem Login kopieren

3 Der Kern des Holy Grail-Layouts besteht darin, dass die linken, mittleren und rechten Spalten alle durch Float schweben und dann durch einen negativen Rand angepasst werden.

Der erste Schritt besteht darin, einen Blick auf das Grundlayout zu werfen

    <style>
        .left {
            float: left;
            width: 100px;
            height: 200px;
            background-color: red;
        }

        .right {
            float: left;
            width: 100px;
            height: 200px;
            background-color: yellow;
        }

        .main {
            float: left;
            width: 100%;
            height: 200px;
            background-color: blue;
        }
    </style>
    <body>
        <p class="container">
            <p class="main"></p>
            <p class="left"></p>
            <p class="right"></p>
        </p>
    </body>
Nach dem Login kopieren

Sie sehen Zu diesem Zeitpunkt Der Effekt ist: Die linke und rechte Spalte werden in die zweite Zeile gequetscht. Dies liegt daran, dass die Breite von main 100 % beträgt. Als nächstes fügen wir die linke, mittlere und rechte Spalte in einer Zeile ein, indem wir die Ränder der linken und rechten Spalte anpassen:

        .left {
            float: left;
            width: 100px;
            height: 200px;
            margin-left: -100%;
            background-color: red;
        }

        .right {
            float: left;
            width: 100px;
            height: 200px;
            margin-left: -100px;
            background-color: yellow;
        }
Nach dem Login kopieren
Der zweite Schritt ist bis Der linke Rand von links ist auf -100 % eingestellt. Zu diesem Zeitpunkt wird die linke Spalte an den Anfang der ersten Zeile verschoben. Setzen Sie dann den linken Rand von rechts auf den negativen Wert seiner Breite: -100px, und die rechte Spalte wird ebenfalls in die gleiche Zeile wie die linke und mittlere Spalte verschoben:

Allerdings ist es noch nicht fertig, wir versuchen, etwas Text zum Haupttext hinzuzufügen:

    <body>
        <p class="container">
            <p class="main">fjlskdjflkasjdfljasdljlsjdljsdjflksadj</p>
            <p class="left"></p>
            <p class="right"></p>
        </p>
    </body>
Nach dem Login kopieren

Sie können siehe den Text Unterdrückt wird, besteht der nächste Schritt darin, das Problem zu lösen.

Der dritte Schritt besteht darin, dem Container eine Polsterung zu geben, die genau der Breite der linken und rechten Spalte entsprechen sollte:

        .container {
            padding-left: 100px;
            padding-right: 100px;
        }
Nach dem Login kopieren
Zu diesem Zeitpunkt Das Ergebnis ist, dass die linke, mittlere und rechte Spalte alle verkleinert sind, der Text jedoch weiterhin unterdrückt wird.

Der vierte Schritt besteht darin, der linken und rechten Spalte ein relatives Layout hinzuzufügen und sie dann durch Festlegen der linken und rechten Werte nach außen zu verschieben:

        .left {
            float: left;
            width: 100px;
            height: 200px;
            margin-left: -100%;
            position: relative;
            left: -100px;
            background-color: red;
        }

        .right {
            float: left;
            width: 100px;
            height: 200px;
            margin-left: -100px;
            position: relative;
            right: -100px;
            background-color: yellow;
        }
Nach dem Login kopieren
Das ist es, Sie sind fertig:

Doppelte Nurflügler-Anordnung

Die ersten beiden Schritte des Doppelflügel-Layouts sind die gleichen wie beim Holy Grail-Layout, außer dass die Lösung für das Problem, dass der Inhalt in der mittleren Spalte blockiert wird, anders ist:

Da Der Inhalt im Hauptteil wird blockiert. Fügen Sie dann einen weiteren Inhalt im Hauptteil hinzu. Fügen Sie einen Inhalt hinzu und legen Sie seinen Rand fest, um eine Okklusion zu vermeiden. Das Problem kann gelöst werden:

<!DOCTYPE html>
<html lang="en">
<head>
    <style>
        .main {
        float: left;
        width: 100%;
        }
        .content {
        height: 200px;
        margin-left: 110px;
        margin-right: 220px;
        background-color: green;
        }
        
        .main::after {
        display: block;
        content: &#39;&#39;;
        font-size: 0;
        height: 0;
        clear: both;
        zoom: 1;
        }
    .left {
        float: left;
        height: 200px;
        width: 100px;
        margin-left: -100%;
        background-color: red;
    }
    .right {
        width: 200px;
        height: 200px;
        float: left;
        margin-left: -200px;
        background-color: blue;
    }   
    </style>
</head>
<body>
    <p class="main">
        <p class="content"></p>
    </p>
    <p class="left"></p>
    <p class="right"></p>
</body>
</html>
Nach dem Login kopieren
Das Einzige, was beachtet werden muss, ist, dass es im Hauptteil stehen muss. Fügen Sie danach ein Element hinzu, um den Float zu löschen.

5. Flex-Layout

Flex-Layout ist auch sehr einfach, um ein dreispaltiges Layout zu implementieren, aber Sie müssen darauf achten Browserkompatibilität:

        <style type="text/css">
            .container {
                display: flex;
                flex-direction: row;
            }
            .middle {
                height: 200px;
                background-color: red;
                flex-grow: 1;
            }

            .left {
                height: 200px;
                order: -1;
                margin-right: 20px;
                background-color: yellow;
                flex: 0 1 200px;
            }

            .right {
                height: 200px;
                margin-left: 20px;
                background-color: green;
                flex: 0 1 200px;
            }
        </style>
    </head>
    <body>
        <p class="container">
            <p class="middle">fsdfjksdjflkasjdkfjsdkljfklsjadfkljaksdljfskljffjksldfjldsfdskjflsdjfkljsdlfjsldjfklsjdkflj</p>
            <p class="left"></p>
            <p class="right"></p>
        </p>
    </body>
Nach dem Login kopieren
Es gibt ein paar Dinge zu beachten:

main muss zuerst geschrieben werden, wenn Es muss zuerst geladen werden, aber weil left Es muss ganz links angezeigt werden, daher muss die Reihenfolge von links auf -1 gesetzt werden
  1. Die vollständige Schreibmethode des Das Flex-Attribut lautet: Flex: Flex-Grow Flex-Shrink Flex-Basis. Dies ist auch der Kern des dreispaltigen Layouts von Flex. Dies bedeutet, dass der gesamte zusätzliche Platz dem Main zugewiesen wird Da die Flex-Basis des linken und rechten Teils angegeben ist, erhöhen Sie gleichzeitig die Breite beider, um den Anzeigeeffekt sicherzustellen
  2. Absolute Positionierung

Die absolute Positionierung ist ebenfalls relativ einfach und kann zuerst geladen werden. Betreff:

Der obige Inhalt handelt von sechs klassischen dreispaltigen CSS-Layoutplänen. Ich hoffe, er kann allen helfen.

Verwandte Empfehlungen:

Beim Layout der Webseite zuerst HTML oder zuerst CSS schreiben?

Auf der Webseite Layout von HTML Was ist der Unterschied zwischen div und span

Welche Techniken gibt es für das CSS-Layout

Das obige ist der detaillierte Inhalt vonSechs klassische CSS-Lösungen für das dreispaltige Layout. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

So verwenden Sie Bootstrap in Vue So verwenden Sie Bootstrap in Vue Apr 07, 2025 pm 11:33 PM

Die Verwendung von Bootstrap in Vue.js ist in fünf Schritte unterteilt: Startstrap installieren. Bootstrap in main.js. Verwenden Sie die Bootstrap -Komponente direkt in der Vorlage. Optional: benutzerdefinierter Stil. Optional: Verwenden Sie Plug-Ins.

Die Rollen von HTML, CSS und JavaScript: Kernverantwortung Die Rollen von HTML, CSS und JavaScript: Kernverantwortung Apr 08, 2025 pm 07:05 PM

HTML definiert die Webstruktur, CSS ist für Stil und Layout verantwortlich, und JavaScript ergibt eine dynamische Interaktion. Die drei erfüllen ihre Aufgaben in der Webentwicklung und erstellen gemeinsam eine farbenfrohe Website.

So schreiben Sie geteilte Zeilen auf Bootstrap So schreiben Sie geteilte Zeilen auf Bootstrap Apr 07, 2025 pm 03:12 PM

Es gibt zwei Möglichkeiten, eine Bootstrap -Split -Zeile zu erstellen: Verwenden des Tags, das eine horizontale Split -Linie erstellt. Verwenden Sie die CSS -Border -Eigenschaft, um benutzerdefinierte Style Split -Linien zu erstellen.

HTML, CSS und JavaScript verstehen: Ein Anfängerhandbuch HTML, CSS und JavaScript verstehen: Ein Anfängerhandbuch Apr 12, 2025 am 12:02 AM

WebdevelopmentRelieSonHtml, CSS und JavaScript: 1) HtmlStructuresContent, 2) CSSstylesit und 3) JavaScriptaddssinteraktivität, Bildung von TheBasisofModerernwebexperiences.

So richten Sie das Framework für Bootstrap ein So richten Sie das Framework für Bootstrap ein Apr 07, 2025 pm 03:27 PM

Um das Bootstrap -Framework einzurichten, müssen Sie die folgenden Schritte befolgen: 1. Verweisen Sie die Bootstrap -Datei über CDN; 2. Laden Sie die Datei auf Ihrem eigenen Server herunter und hosten Sie sie. 3.. Fügen Sie die Bootstrap -Datei in HTML hinzu; 4. Kompilieren Sie Sass/weniger bei Bedarf; 5. Importieren Sie eine benutzerdefinierte Datei (optional). Sobald die Einrichtung abgeschlossen ist, können Sie die Grid -Systeme, -Komponenten und -stile von Bootstrap verwenden, um reaktionsschnelle Websites und Anwendungen zu erstellen.

So fügen Sie Bilder auf Bootstrap ein So fügen Sie Bilder auf Bootstrap ein Apr 07, 2025 pm 03:30 PM

Es gibt verschiedene Möglichkeiten, Bilder in Bootstrap einzufügen: Bilder direkt mit dem HTML -IMG -Tag einfügen. Mit der Bootstrap -Bildkomponente können Sie reaktionsschnelle Bilder und weitere Stile bereitstellen. Legen Sie die Bildgröße fest und verwenden Sie die IMG-Fluid-Klasse, um das Bild anpassungsfähig zu machen. Stellen Sie den Rand mit der img-beliebten Klasse ein. Stellen Sie die abgerundeten Ecken ein und verwenden Sie die IMG-Rund-Klasse. Setzen Sie den Schatten, verwenden Sie die Schattenklasse. Größen Sie die Größe und positionieren Sie das Bild im CSS -Stil. Verwenden Sie mit dem Hintergrundbild die CSS-Eigenschaft im Hintergrund.

So verwenden Sie die Bootstrap -Taste So verwenden Sie die Bootstrap -Taste Apr 07, 2025 pm 03:09 PM

Wie benutze ich die Bootstrap -Taste? Führen Sie Bootstrap -CSS ein, um Schaltflächenelemente zu erstellen, und fügen Sie die Schaltfläche "Bootstrap" hinzu, um Schaltflächentext hinzuzufügen

So ändern Sie Bootstrap So ändern Sie Bootstrap Apr 07, 2025 pm 03:18 PM

Um die Größe der Elemente in Bootstrap anzupassen, können Sie die Dimensionsklasse verwenden, einschließlich: Einstellbreite:.

See all articles