Heim > Artikel > Web-Frontend > Analyse der horizontalen CSS-Zentrierung
Horizontale Zentrierung ist eine der am häufigsten verwendeten Layoutmethoden. Es ist hauptsächlich in die Zentrierung von Inline-Elementen und die Zentrierung von Blockelementen unterteilt. Die Zentrierung von Blockelementen wird ebenfalls in Zentrierung mit fester Breite und Zentrierung mit variabler Breite unterteilt. Die Zentrierung von Inline-Elementen kann durch die Verwendung von text-align:center erreicht werden. Die Zentrierung von Blockelementen mit bekannter Breite kann durch die Verwendung einer absoluten Positionierung und die Einstellung von
margin auf einen negativen Wert erreicht werden die Hälfte der Breite. Die Zentrierung mit variabler Breite wird jedoch häufiger verwendet und ist komplizierter als die beiden oben genannten. Wir müssen die Zentrierung mit variabler Breite häufig bei der Anzeige von Seitenzahlen und an anderen Stellen verwenden Verwendete Blockelemente.
1. Beschriftungsverschachtelungsversatz
Implementierungsprinzip:
Verbunden mit der Implementierung der Zentrierung mit fester Breite: erster Versatz zur Mitte des Bildschirms und stellen Sie die Randrichtung so ein, dass sie um die halbe Breite versetzt wird. Können Sie sich also eine Möglichkeit vorstellen, diese Idee zu nutzen, um zunächst 50 % in die rechte Hälfte des Bildschirms zu versetzen und ihn dann wieder in die entgegengesetzte Richtung zu versetzen? Schwieriger ist es, die Breite nicht zu kennen. Ich dachte auch, dass die Verwendung eines Prozentsatzes das Problem lösen kann, solange die Breite des übergeordneten Elements und die Breite des untergeordneten Elements gleich sind. Wie kann man also die Breite des übergeordneten Elements an die Breite des Wortes anpassen? Nutzen Sie die Wrapping-Eigenschaft von Float: Wenn das übergeordnete Element schwebend ist und Breite und Höhe nicht festgelegt sind, wird versucht, die untergeordneten Elemente so weit wie möglich zu umschließen.
Implementierungscode:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>不定宽度水平居中</title> <style> body{ background-color: #e5da31; } .container{ position: absolute; /*脱离文档流,其宽度将由子元素的宽度决定*/ left:50%; } .content{ position: absolute; left:-50%; background-color: #2ecc71; } </style> </head> <body> <p class="container"> <p class="content">标签嵌套</p> </p> </body> </html>
Implementierungseffekt:
Vorteile und Nachteile:
Der Nachteil liegt auf der Hand. Sie müssen Tags schreiben, die nichts mit dem Dokumentinhalt zu tun haben. Nach ein paar zusätzlichen Codezeilen ist das kein Problem Anzeige im Browser IE6+
2.Flex-Box-Layout
Implementierungsprinzip:
Definieren Sie zunächst einen Flex-Container und stellen Sie dann seine Inhaltsausrichtung auf zentrierte Ausrichtung ein
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>不定宽度水平居中</title> <style> body { background-color: #e5da31; } .container { display: flex; /*定义一个flex容器*/ justify-content: center; /*定义容器的空间没有被全部占用时,内容的对其方式*/ } .content{ background-color: #2ecc71; } </style> </head> <body> <p class="container"> <p class="content">标签嵌套</p> </p> </body> </html>
Erzielen Sie die Wirkung:
Analyse der Vor- und Nachteile:
Es ist am einfachsten zu implementieren, aber da Flex eine schlechte Kompatibilität aufweist, sollten Sie es mit Vorsicht verwenden, wenn es mit Low-End-Browsern kompatibel ist.
3. Inline-Layout
Implementierungsprinzip:
text-align:center kann die Inline-Elemente horizontal zentrieren. Wenn Sie das Blockelement in ein Inline-Element ändern, können Sie text-align verwenden, um eine horizontale Zentrierung zu erreichen.
Implementierungscode:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>不定宽度水平居中</title> <style> body{ background-color: #e5da31; } .container{ text-align:center; } .content{ display: inline; background-color: #2ecc71; } </style> </head> <body> <p class="container"> <p class="content">标签嵌套</p> </p> </body> </html>
Implementierungseffekt:
Vorteile und Nachteile Analyse:
Es fühlt sich immer etwas umständlich an, Text-Align zu verwenden, das ursprünglich zum Ändern der Textausrichtung verwendet wurde, um eine horizontale Zentrierung zu erreichen. Dieser äußere Container ist ebenfalls überflüssig, aber in Um andere Körperteile nicht zu beeinträchtigen. Teil des Elements, vorerst. Darüber hinaus ist die Kompatibilität gut und kann in IE6+ normal angezeigt werden.
Das Obige ist der gesamte Inhalt der kleinen Diskussion über die horizontale CSS-Zentrierung, die Ihnen der Herausgeber präsentiert hat. Ich hoffe, Sie unterstützen die chinesische PHP-Website~
Das obige ist der detaillierte Inhalt vonAnalyse der horizontalen CSS-Zentrierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!