Div soll beim scrollen am Bildschirmrand fixiert werden?

2 Antworten

Das ist auch kein JavaScript sondern CSS.

Mit diesem Style positionierst du das Element fixed. Das bedeutet, es ist relativ zum Viewport ausgerichtet und ändert seine Position auf dem Bildschirm nicht mehr, auch wenn du scrollst.

Hier ein simples Beispiel:

<!doctype html>
<html>
<head>
<title>Fixed example</title>
</head>
<body style="height: 1500px">
<p>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.</p> <div style="position: fixed; background: red; top: 10px">Fixed</div> </body>
</html>

Achte bei deinem div-Element darauf, dass es auch den Klassenselektor zugewiesen bekommen hat, welcher definiert wurde.

<!-- Der style-Tag gehoert in den header-Bereich -->
<style type="text/css">
 .fixed {position: fixed; top: 0; }
</style>
<!-- ... dann irgendwo im body, dein Element -->
<div class="fixed">...</div>

@regex Die klasse fixed von dir soll laut fragesteller aber erst zur wirkung kommen sobald man über das element hinaus scroll.

Ich werfe mal die stichworte sticky navigation und jquery in den Raum.
Keine Zeit, muss los.

Codepen und Google helfen gerne weiter.