Heim > Artikel > Web-Frontend > Warum verschiebt sich „margin-top: -8px' nach oben, während „margin-bottom: 8px' nach unten verschiebt?
Wie negative CSS-Ränder funktionieren und der Unterschied zwischen oberen und unteren Rändern
In CSS werden negative Ränder verwendet, um durch Änderungen visuelle Effekte zu erzeugen die Position von Elementen. Bei Anwendung auf den oberen Rand erzeugen negative Werte eine Verschiebung nach oben, während negative untere Ränder Elemente nach unten verschieben.
Betrachten Sie das Beispiel:
.item { position:absolute; top:50%; margin-top:-8px; /* half of height */ height: 16px; }
Hier ist der negative Wert für den oberen Rand von -8px verschiebt das Element um die Hälfte seiner Höhe nach oben. Dies wird erreicht, indem die Randbox (unsichtbarer Abstand um das Element) über den Rand der Inhaltsbox (sichtbarer Bereich) hinaus erweitert wird.
Warum margin-top:-8px ≠ margin-bottom:8px?
Obwohl margin-top:-8px und margin-bottom:8px scheinbar ähnlich sind, unterscheiden sie sich in ihren Auswirkungen. Während Ersterer das Element nach oben verschiebt, drückt Letzterer es nach unten. Dieser Unterschied ergibt sich aus der Position des Ankerpunkts für Ränder.
In CSS sind alle Ränder am Rand des Begrenzungsrahmens des enthaltenden Blocks verankert. Bei einem positionierten Element ist der enthaltende Block das übergeordnete Element des Elements. Bei Verwendung von margin-top befindet sich der Ankerpunkt am oberen Rand des Begrenzungsrahmens des übergeordneten Elements. Negative Werte verschieben das Element also über diesen Punkt.
Umgekehrt verankert margin-bottom das Element am unteren Rand des enthaltenden Blocks. Infolgedessen verschieben negative untere Ränder das Element nach unten, anstatt es nach oben zu drücken.
Intuitives Verständnis
Negative obere Ränder reduzieren effektiv die Höhe des Randfelds und erzeugen so die Illusion, dass sich das Element nach oben bewegt hat. Negative untere Ränder hingegen erhöhen die Höhe des Randrahmens, sodass es so aussieht, als ob das Element nach unten verschoben wäre.
Das obige ist der detaillierte Inhalt vonWarum verschiebt sich „margin-top: -8px' nach oben, während „margin-bottom: 8px' nach unten verschiebt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!