Ist es möglich, den Code durch den Mittelpunkt eines Elements und nicht durch den oberen linken Punkt zu positionieren? Wenn mein Eltern ElementPosition nach Mittelpunkt statt nach oben links
width: 500px;
und mein Kind Element hat, dass
/*some width, for this example let's say it's 200px*/
position: absolute;
left: 50%;
man annehmen würde auf der Grundlage der 50%
Positionierung hat, wird das Kind-Element in der Mitte der Eltern sein Lassen Sie von freiem Platz auf jeder Seite. Dies ist jedoch nicht der Fall, da der obere linke Punkt des Kindes 50%
der Breite des Elternteils ist. Daher wird die gesamte Breite des Kindes von 200px
von dort nach rechts verschoben, wobei 250px
Freiraum auf der linken Seite bleibt 50px
auf der rechten Seite.
Also, meine Frage ist, wie Center Positionierung zu erreichen?
fand ich diese Lösung:
position: absolute;
width: 200px;
left: 50%;
margin-left: -100px;
aber ich mag es nicht, weil Sie es für jedes Element Breite manuell bearbeiten müssen - ich möchte etwas, das weltweit funktioniert.
(Wenn ich beispielsweise in Adobe After Effects arbeite, kann ich eine Position für ein Objekt festlegen und dann einen bestimmten Ankerpunkt für das Objekt festlegen, das an diese Position gesetzt wird. Wenn die Zeichenfläche 1280px
breit ist, positionieren Sie sich ein Objekt zu 640px
und Sie das Zentrum des Objekts wählen Sie Ihren Ankerpunkt sein, dann ist das ganze Objekt wird innerhalb der 1280px
breiten Leinwand zentriert)
ich so etwas wie dies in CSS vorstellen würde.
position: absolute;
left: 50%;
horizontal-anchor: center;
In ähnlicher Weise würde horizontal-anchor: right
das Element b positionieren y seine rechte Seite, so würde der gesamte Inhalt auf der linken Seite von der Breite seiner Eltern 50%
sein.
Und das gleiche würde gelten für vertical-anchor
, Sie bekommen es.
Also, ist so etwas möglich mit nur CSS (keine Skripte)?
Danke!
@ kaboom1 Benutzer Vorsicht: browserspezifische Befehle sollten gründlich getestet werden. Die gute Nachricht ist, dass es dort für jeden Browser normalerweise gleichwertige Eigenschaften gibt. –
Gute Lösung, aber zumindest heutzutage * gibt * eine gewisse Menge an Cross-Browser-Kompatibilität; Fügen Sie einfach die Schlüssel "-ms-transform" und "transform" mit demselben Wert hinzu. – Raphael