Heim > Web-Frontend > CSS-Tutorial > So erreichen Sie eine horizontale Zentrierung variabler Breite in CSS

So erreichen Sie eine horizontale Zentrierung variabler Breite in CSS

青灯夜游
Freigeben: 2020-12-21 15:56:41
Original
2300 Leute haben es durchsucht

Methode: 1. Verwenden Sie das Flex-Layout und setzen Sie die Attribute „ustify-content“ und „align-items“ auf „center“, um eine Zentrierung zu erreichen. 2. Verwenden Sie „transform“ und „position“, um eine Zentrierung zu erreichen. 3. Verwenden Sie „table-cell“ und verwenden Sie die Zellen der Tabelle Zentrierende Wirkung.

So erreichen Sie eine horizontale Zentrierung variabler Breite in CSS

Die Betriebsumgebung dieses Tutorials: Windows 7-System, CSS3-Version. Diese Methode ist für alle Computermarken geeignet.

Empfohlen: „CSS-Video-Tutorial

CSS, um eine horizontale Zentrierung mit variabler Breite zu erreichen

Methode 1: Flex verwenden

Jeder erste Reaktion könnte Flex sein. Weil die Schreibmethode einfach und intuitiv genug ist und es kein Kompatibilitätsproblem gibt. Es ist die erste Wahl für den Fokus auf Mobiltelefone.

<div class="wrapper flex-center">
    <p>horizontal and vertical</p>
</div>
Nach dem Login kopieren
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
}
.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}
Nach dem Login kopieren

Verwendet zwei Schlüsselattribute: justify-content und align-items, beide sind auf „center“ eingestellt, um eine Zentrierung zu erreichen.

Zu beachten ist, dass das Flex-Center hier am Elternelement aufgehängt werden muss, damit das einzige Kindelement zentriert werden kann.

Methode 2: Verwenden Sie die Kombination aus Transformation + Position

, die häufig zum Zentrieren des Bildes verwendet wird.

<div class="wrapper">
    <img src="test.png">
</div>
Nach dem Login kopieren
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    position: relative;
}
.wrapper > img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
Nach dem Login kopieren

Natürlich können Sie auch die relative Positionierung des Wrappers des übergeordneten Elements in das untergeordnete Element img verschieben und so die absolute Positionierung ersetzen. Der Effekt ist der gleiche.

Methode 3: Tabellenzelle

Verwenden Sie den Zellenzentrierungseffekt der Tabelle zur Anzeige. Wie Flex muss es auf das übergeordnete Element geschrieben werden.

<div class="wrapper">
    <p>horizontal and vertical</p>
</div>
Nach dem Login kopieren
Nach dem Login kopieren
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}
Nach dem Login kopieren

Methode 4: Raster

Wie bei Tabellen ermöglicht uns das Rasterlayout, Elemente nach Zeilen oder Spalten auszurichten. Vom Layout her sind Raster jedoch möglicher bzw. einfacher als Tabellen.

<div class="wrapper">
    <p>horizontal and vertical</p>
</div>
Nach dem Login kopieren
Nach dem Login kopieren
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    display: grid;
}
.wrapper > p {
    align-self: center;
    justify-self: center;
}
Nach dem Login kopieren

Aber hinsichtlich der Kompatibilität ist es nicht so gut wie Flex, insbesondere mit dem IE-Browser, der nur IE10 und höher unterstützt.

Weitere Kenntnisse zum Thema Programmierung finden Sie unter: Einführung in die Programmierung! !

Das obige ist der detaillierte Inhalt vonSo erreichen Sie eine horizontale Zentrierung variabler Breite in CSS. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
css
Quelle:php.cn
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage