Positionierung: relative, absolute, fixed, sticky
Nehmen Sie Elemente mit position-Werten aus dem normalen Dokumentfluss, um Inhalte zu überlagern, Header zu fixieren und Sticky-Sidebars zu erstellen.
Positionierung: relative, absolute, fixed, sticky ist eine kostenlose Frontend Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Frontend Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Frontend Academy-Kurs umfasst insgesamt 4 Lektionen.
Normaler Dokumentfluss
Standardmäßig folgen Elemente dem normalen Dokumentfluss: Blockelemente werden vertikal gestapelt, Inline-Elemente fließen innerhalb des Textes horizontal. Mit der position-Eigenschaft können Sie diesen Fluss für Overlays, fixierte Header und Tooltips verlassen.
position: static (Standard)
Jedes Element beginnt mit position: static. Das bedeutet, dass es durch den normalen Dokumentfluss positioniert wird. Die Eigenschaften top, right, bottom und left haben bei statischen Elementen keine Wirkung.
position: relative
position: relative belässt das Element im normalen Fluss, ermöglicht aber, es mithilfe von top, right, bottom und left von seiner ursprünglichen Position zu versetzen. Entscheidend ist, dass dadurch ein Positionierungskontext für absolut positionierte Nachfahren entsteht.
.card {
position: relative;
top: 10px; /* shift 10px down from original position */
left: -5px; /* shift 5px left */
}position: absolute
position: absolute entfernt das Element aus dem normalen Dokumentfluss. Es wird relativ zu seinem nächsten positionierten Vorfahren positioniert (jede Position außer static). Gibt es keinen positionierten Vorfahren, wird es relativ zum Viewport positioniert.
.card {
position: relative; /* creates context */
}
.card .badge {
position: absolute;
top: 12px;
right: 12px; /* top-right corner of .card */
}Die Eigenschaft z-index
Positionierte Elemente können sich überlappen. Verwenden Sie z-index, um die Stapelreihenfolge zu steuern. Ein höherer z-index liegt weiter oben. Das funktioniert nur bei positionierten Elementen (nicht bei static). Dadurch wird ein neuer Stapelkontext erstellt.
.tooltip {
position: absolute;
z-index: 100; /* above other content */
}
.modal {
position: fixed;
z-index: 1000; /* above tooltip */
}position: fixed
position: fixed entfernt das Element aus dem normalen Dokumentfluss und verankert es im Viewport. Es scrollt nicht mit der Seite. Ideal für fixierte Header, schwebende Aktionsschaltflächen und Cookie-Banner.
.header {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 64px;
background: white;
z-index: 50;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}position: sticky
position: sticky ist eine Kombination aus zwei Verhalten: Das Element scrollt mit der Seite, bis es einen Schwellenwert erreicht (festgelegt mit top/bottom), und bleibt dann dort haften. Das ist nützlich für Abschnittsüberschriften in langen Tabellen oder Seitenleisten, die nach dem Header haften bleiben.
.sidebar {
position: sticky;
top: 80px; /* sticks 80px from top after scroll */
align-self: flex-start;
}Zentrieren mit position: absolute
Eine klassische Technik: Kombinieren Sie position: absolute; top: 50%; left: 50% mit transform: translate(-50%, -50%), um ein Element im positionierten Elternelement exakt zu zentrieren.
.modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 480px;
background: white;
border-radius: 12px;
}overflow: hidden beschneidet absolut positionierte Kinderelemente
Ein absolut positioniertes Kind kann standardmäßig über die Grenzen seines Elternelements hinausragen. Wenn Sie dem Elternelement overflow: hidden hinzufügen, wird alles außerhalb seines Bereichs abgeschnitten – nützlich für Bildeffekte in Karten und zum Beschneiden von Badges.
Stolperfalle: Unerwünschte Stapelkontexte
Einige Eigenschaften erstellen unbeabsichtigt Stapelkontexte: transform, filter, isolation: isolate. Das kann zu z-index-Konflikten führen: Ein Element mit z-index: 9999 liegt möglicherweise trotzdem hinter einem anderen, weil es sich in einem niedrigeren Stapelkontext befindet.
Wann Sie welche Positionierung verwenden
relative: für Versätze und als Positionierungskontext. absolute: für Badges, Tooltips und Overlays relativ zu einem Elternelement. fixed: für dauerhaft sichtbare Header, Modalfenster und Toasts. sticky: für Abschnittsüberschriften und Seitennavigation, die dem Scrollen folgt. Verwenden Sie position nicht für Layouts – nutzen Sie Flex oder Grid.
Kurztest
Ein Element hat position: absolute; top: 0; right: 0;. Wo wird es angezeigt, wenn sein Elternelement position: relative hat?
Zusammenfassung: CSS-Positionierung
static ist die Standardeinstellung. relative verschiebt ein Element, ohne es aus dem Dokumentfluss zu entfernen, und erstellt einen Positionierungskontext. absolute entfernt es aus dem Dokumentfluss und positioniert es relativ zum nächsten positionierten Vorfahren. fixed bleibt am Viewport verankert. sticky scrollt zunächst mit und bleibt dann haften. Verwenden Sie z-index, um die Reihenfolge überlappender Elemente zu steuern.
Häufig gestellte Fragen
Ist die Lektion „Positionierung: relative, absolute, fixed, sticky“ kostenlos?
Ja — der vollständige Text von „Positionierung: relative, absolute, fixed, sticky“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Frontend Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Frontend Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Positionierung: relative, absolute, fixed, sticky“?
Nehmen Sie Elemente mit position-Werten aus dem normalen Dokumentfluss, um Inhalte zu überlagern, Header zu fixieren und Sticky-Sidebars zu erstellen. Du übst Frontend Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um Frontend Academy zu starten?
Keine Vorkenntnisse erforderlich. Frontend Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.
Wie lange dauert die Lektion „Positionierung: relative, absolute, fixed, sticky“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser Frontend Academy-Lektion Code schreiben und ausführen?
Ja. Jede Frontend Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Selektoren und die Cascade
- Farben, Typografie und das Box-Modell
- Display: Grundlagen von block, inline, flex und grid
- Positionierung: relative, absolute, fixed, sticky