CSS Positioning
The position
property in CSS allows you to control how elements are placed on the page. It works alongside properties like top
, right
, bottom
, and left
to precisely move elements.
1. static (default)
The default position. Elements are placed in the normal document flow.
.element {
position: static;
}
2. relative
The element is positioned relative to its normal position. You can nudge it using top
, left
, etc.
.box {
position: relative;
top: 10px;
left: 20px;
}
3. absolute
Positioned relative to the nearest positioned ancestor (not static). If none, it's relative to the viewport.
.container {
position: relative;
}
.child {
position: absolute;
top: 10px;
right: 10px;
}
4. fixed
The element is positioned relative to the browser window. It stays in place during scroll.
.header {
position: fixed;
top: 0;
width: 100%;
}
5. sticky
The element toggles between relative and fixed, based on the user's scroll position.
.navbar {
position: sticky;
top: 0;
}
6. z-index
Controls the stacking order of overlapping elements. Higher values appear on top.
.box {
position: absolute;
z-index: 10;
}
Conclusion
Understanding CSS positioning is essential for creating complex layouts. Combine positioning types with z-index and layout strategies like flexbox or grid for powerful control.