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

So erreichen Sie eine horizontale Zentrierung variabler Breite in CSS

青灯夜游
青灯夜游Original
2020-12-21 15:56:412270Durchsuche

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>
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
}
.flex-center {
    display: flex;
    justify-content: center;
    align-items: center;
}

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>
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    position: relative;
}
.wrapper > img {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}

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>
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    display: table-cell;
    text-align: center;
    vertical-align: middle;
}

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>
.wrapper {
    width: 300px;
    height: 300px;
    border: 1px solid #ccc;
    display: grid;
}
.wrapper > p {
    align-self: center;
    justify-self: center;
}

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!

Stellungnahme:
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