Heim > Web-Frontend > CSS-Tutorial > Hauptteil

Warum funktionieren automatische Ränder nicht mit der absoluten Positionierung in CSS?

Susan Sarandon
Freigeben: 2024-10-30 20:28:30
Original
217 Leute haben es durchsucht

Why Do Auto Margins Not Work with Absolute Positioning in CSS?

CSS-Absolutpositionierungskonflikt mit automatischen Rändern

In CSS entfernt die absolute Positionseigenschaft ein Element aus dem normalen Fluss des Dokuments und Die Positionierung erfolgt anhand der Eigenschaften „oben“, „links“, „rechts“ und „unten“. Wenn jedoch die Eigenschaften „margin-left“ und „margin-right“ auf „Auto“ mit einer absoluten Position eingestellt sind, haben sie keine Auswirkung.

Dies liegt an den Eigenschaften „margin-left: auto“ und „margin-right: auto“. Versuchen Sie, das Element innerhalb seines enthaltenden Blocks zu zentrieren. Bei einem Element mit einer absoluten Position ist sein enthaltender Block der Dokumentkörper. Allerdings hat der Dokumentkörper selbst keine festgelegte Breite, sodass der Browser nicht bestimmen kann, wo das Element zentriert werden soll.

Wenn andererseits die Positionseigenschaft auf relativ gesetzt ist, wird das Element entfernt der normale Fluss, aber seine imaginäre Box bleibt innerhalb des Dokumentenflusses. Wenn in diesem Fall margin-left und margin-right auf „auto“ eingestellt sind, werden die Ränder auf der Grundlage der Breite des enthaltenden Blocks berechnet, der bei einem relativ positionierten Element immer noch den Dokumentkörper darstellt. Da der Dokumentkörper jedoch eine festgelegte Breite hat, kann der Browser korrekt bestimmen, wo das Element zentriert werden soll.

So zentrieren Sie ein Element mit absoluter Positionierung:

Stattdessen Bei der Verwendung von margin-left: auto und margin-right: auto können Sie die linken und rechten Eigenschaften auf 50 % festlegen. Dadurch wird das Element im Dokumentkörper zentriert. Sie müssen außerdem die oberen und unteren Eigenschaften angeben, um zu verhindern, dass das Element den Bildschirm verlässt.

Das obige ist der detaillierte Inhalt vonWarum funktionieren automatische Ränder nicht mit der absoluten Positionierung in CSS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!