Kürzlich bin ich auf diese Methode gestoßen, mit der ein Element sowohl horizontal als auch vertikal in der Mitte positioniert wird. Allerdings war ich nicht in der Lage, herauszufinden, was jede Eigenschaft tut. Könnte mir jemand erklären, was die Auswirkung auf die Einstellung ist top:0, bottom:0, left:0, right:0?
(Wäre großartig, wenn Sie es mit einem Laienbegriff erklären oder ein anschauliches Bild bereitstellen könnten.)
Was nützt es auch, die Anzeige auf Tisch zu stellen?
<p class="absolute-center">What is this sorcery?</p>
um mit joels antwort zu gehen, display:table wird verwendet, da es dem p-Tag ermöglicht, eine Höhe von auto zu haben und sich auf das zu erweitern, was sich darin befindet. Wenn Sie einen anderen Anzeigetyp verwenden, würde er die verwenden top:0; und bottom:0; wodurch es sich auf die volle Höhe des Containers ausdehnen würde
Ich habe einen Rollback durchgeführt, weil mir aufgefallen ist, dass die Änderung von Rezensenten genehmigt wurde, die viel zu leicht akzeptieren. Ein Schnipsel als Titel ist nicht schlecht und definitiv besser als eine grammatikalisch falsche Frage.
<p class="absolute-center">What is this sorcery?</p>
Das absolute Element mit Eigenschaften wie bottom: 0; top: 0; left: 0; right: 0; wird den ganzen Raum ausfüllen.
Also, was ist hier das Geheimnis/die Zauberei?
Sie bestimmen Breite und Höhe des Elements. Selbst wenn er den gesamten Raum ausfüllen möchte, wird er durch Ihre Breite und Höhe begrenzt.
Das Geheimnis ist die margin: auto, warum? Weil das Element den verbleibenden Abstand mit Rand füllt. Da Sie Breite und Höhe definiert haben, wird es diese Größe haben, aber der Rand wird den Rest des Containers/Elternteils auf diese Weise ausfüllen auto funktioniert, beide Seiten gleich groß.
Wegen dem margin:auto Sie müssen Breite und Höhe definieren.
Tausend Dank für deine tolle Antwort!
– Xenon-String
9. Juli 2015 um 8:46 Uhr
Brechen wir es ein bisschen ab:
Wenn Sie das folgende CSS haben (ich wende es auf Ihr aktuelles Markup an):
Sie können sehen, dass die div.absolute-center füllt das gesamte übergeordnete Element (in diesem Fall body), indem Sie einfach alle Eigenschaften festlegen top, bottom, right und left.
Sie müssen nur die oberen und linken Positionen hinzufügen und die Transformation hinzufügen. Wenn Sie keine feste Breite benötigen, ist es kein Problem, die zu löschen width aus dem css und auch, wenn Sie zentrierten Text darin haben möchten p füge Polsterung hinzu, sonst lösche es. Versuche dies:
um mit joels antwort zu gehen,
display:table
wird verwendet, da es dem p-Tag ermöglicht, eine Höhe von auto zu haben und sich auf das zu erweitern, was sich darin befindet. Wenn Sie einen anderen Anzeigetyp verwenden, würde er die verwendentop:0;
undbottom:0;
wodurch es sich auf die volle Höhe des Containers ausdehnen würde– Peter
9. Juli 2015 um 8:22 Uhr
commitstrip.com/en/2015/05/21/learning-the-hard-way Auch howtocenterincss.com
– lolesk
9. Juli 2015 um 13:54 Uhr
Ich habe einen Rollback durchgeführt, weil mir aufgefallen ist, dass die Änderung von Rezensenten genehmigt wurde, die viel zu leicht akzeptieren. Ein Schnipsel als Titel ist nicht schlecht und definitiv besser als eine grammatikalisch falsche Frage.
– Jaspis
9. Juli 2015 um 14:37 Uhr