Positionen mit CSS
Mit den verschiedenen Positions-Eigenschaften wird definiert wie sich die Position
eines Elementes relativ zum Parent-Element verhaelt. Das hat auswirkungen darauf, wie die Eigenschaften
top
, bottom
, left
, right
interpretiert werden.
Das kann zum Beispiel praktisch sein, wenn man auf einer Website einen fixierten Header setzen moechte.
Static
#example1 .active {
position: static;
top: 1rem;
left: 1rem;
}
Obwohl die Eigenschaften top
und left
gesetzt sind, haben diese keine
Auswirkung, da die Positions-Eigenschaft auf static
gesetzt ist.
Relative
#example2 .active {
position: relative;
top: 1rem;
left: 1rem;
}
Relativ zum normalen Dokument-flow wird das Element mit den Attributen top
und
left
verschoben.
Absolute
#example3 .active {
position: relative;
top: 1rem;
left: 1rem;
}
Das Element wird aus dem normalen Dokument-flow entfernt und absolut zum naechtsen
Eltern-Elements mit positions-Attribut relative
, absolute
, fixed
oder static
platziert.
Fixed
#example4 .active {
position: relative;
top: 1rem;
left: 1rem;
}
Das Element wird aus dem normalen Dokument-flow entfernt und absolut zum viewport positioniert. Das Element ist nun oben links auf der Webseite zu finden.
Sticky
#example5 .active {
position: sticky;
left: 1rem;
right: 1rem;
}
Das Element is im normalen Dokument flow-platziert. Sobald das Element allerdings von einem
uebergeordneten Element mit overflow-Eigenschaft die Kante erreicht, greift die entsprechende
Eigenschaft top
, bottom
, left
oder right
.
Das Element kann sich dabei nur im direkten Eltern-Element bewegen; Box 2 und Box 3 sind zur
Veranschaulichung in einem extra div-Element.