Problem in CSS mit fixierter Position?
Hallo liebe Ratgeber!
Ich arbeite gerade an einem kleinen Projekt in HTML. Dazu habe ich unter anderem einen Header-Bereich, welcher beim herunterscrollen stets weiter angezeigt werden soll. Ich habe ihm also die CSS EIgenschaft position: fixed verpasst, welche sich eigentlich nicht wirklich von position: relative unterscheidet, außer dass das Element nun fixiert wird. Als ich jedoch nun fixed statt relative verwendet habe, hat der Header Bereich ein Abstand nach oben bekommen. Zu Testzwecken habe ich außerhalb des Header-Bereichs eine lose Überschrift angeordnet. Diese erschien allerdings nicht wie gewollt unter dem Header-Bereich, sondern verschwand in ihm, als würde es den Header-Bereich nicht geben.
Hier mein Problem
Der Header-Bereich bekommt trotz margin:0 einen Abstand nach oben hin, eine darunter gesetzte Überschrift h2 verschwindet darin.
Wer kann mir bei meinem Problem ein wenig weiterhelfen? Ich möchte, dass der Header oben bleibt und alle folgenden Elemente auch unter dem Header angezeigt werden.
Danke im Voraus!
LG Korbi
2 Antworten
Der feste Bereich kam aus dem allgemeinen Seitenfluss, und alle anderen Blöcke wurden aus diesem Grund nach oben verschoben. Daher befindet sich der benachbarte Block jetzt unter dem festen Bereich.
Um dies zu beheben, fügen Sie die obere Polsterung für den Body-Tag hinzu. Die Größe der "Polsterauflage" sollte der Höhe der festen Fläche entsprechen.
Zum Beispiel:
body {
padding-top: 80px; // Oder einen anderen Wert
}
Vielleicht sollte diese Auffüllung in Ihrem Layout nicht dem Body-Tag hinzugefügt werden, sondern dem Containerblock, der den Header und den Rest des Inhalts enthält.
Hier ein Beispiel für CodePen, bei dem die Eigenschaft "position: fixed" für den Block mit dem Menü festgelegt und die kompensierende "padding-top" -Eigenschaft für das body-Tag hinzugefügt wird: https://codepen.io/glebkema/pen/PzGBJx
Das relativ positionierte Element liegt unter deinem fixierten Header, da es sich relativ zum body-Element positioniert. Füge einen Abstand nach oben ein oder setze ein Platzhalterelement, welches die selbe Höhe wie dein Header hat.