Das Verhalten fester Elemente verstehen: Warum sie von nicht positionierten Geschwistern beeinflusst werden können
Im Bereich der CSS-Positionierung erscheint es Es ist verblüffend, warum ein Element mit der Position „fixed“ von einem nicht positionierten Geschwisterelement beeinflusst werden kann. Das Verständnis der zugrunde liegenden Mechanik offenbart jedoch eine logische Erklärung.
Ein Element mit der Position „fixed“ wird aus dem normalen Dokumentfluss entfernt und relativ zum Browser-Ansichtsfenster positioniert. Das Ansichtsfenster ist der sichtbare Bereich der Webseite im Browserfenster.
In dem von Ihnen bereitgestellten Beispiel ist das Header-Element fest, während das Hauptelement „margin-top: 90px“ hat. Überraschenderweise bewegt sich der Header nach unten, als ob er vom Rand beeinflusst würde.
Um dieses Verhalten zu verstehen, müssen wir die Rolle des Zusammenbrechens des CSS-Rands betrachten. Wenn sich zwei Elemente mit Rändern berühren, verschmelzen ihre Ränder zu einem einzigen Rand. In diesem Fall hat das Body-Element (das übergeordnete Element des Hauptelements) einen Standardrand von 8 Pixel. Wenn der obere Rand des Hauptelements von 90 Pixel angewendet wird, kommt es zu einer Randreduzierung, was zu einem kombinierten Rand von 98 Pixel führt.
Dieser kombinierte Rand verschiebt sowohl den Körper als auch das Hauptelement um 98 Pixel nach unten. Da die Kopfzeile relativ zum Ansichtsfenster fest ist, bewegt sie sich zusammen mit dem Ansichtsfenster, das auf Grundlage der Elemente im Dokumentfluss berechnet wird. Da das Hauptelement das erste Einlaufelement ist, wirkt sich sein Rand auf die Berechnung des Ansichtsfensters aus, wodurch es so aussieht, als würde sich der Header nach unten bewegen.
Im Wesentlichen wird die Position des festen Headers nicht direkt durch das Non beeinflusst -positioniertes Geschwister in Bezug auf die physische Positionierung. Der Rand des Geschwisters wirkt sich jedoch auf die Berechnung des Ansichtsfensters aus und beeinflusst indirekt die scheinbare Bewegung des Headers.
Das obige ist der detaillierte Inhalt vonWarum können feste Elemente durch nicht positionierte Geschwister beeinflusst werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!