定位 (Positioning) 是 CSS 中的一個重要概念,用來控制元素在頁面中的位置。透過不同的定位方法,我們可以精確地控制元素相對於其父元素或其他元素的擺放。CSS 提供了多種定位方式,每一種都有其特殊用途。
position 是控制元素定位的核心屬性,有四種常見的取值:static、relative、absolute、fixed 和 sticky。默認情況下,所有元素的 position 屬性值為 static。
static (靜態定位):
top、bottom、left、right 屬性影響。relative (相對定位):
top、bottom、left、right 進行微調。.relative-box {
position: relative;
top: 10px;
left: 20px;
}
absolute (絕對定位):
top、bottom、left、right 屬性來精確控制位置。.absolute-box {
position: absolute;
top: 50px;
left: 100px;
}
fixed (固定定位):
.fixed-box {
position: fixed;
top: 0;
right: 0;
}
sticky (黏性定位):
relative 和 fixed 的特性。元素相對於父元素進行定位,但當滾動到一定位置時,會變成 fixed,固定在螢幕的某個位置。.sticky-box {
position: sticky;
top: 10px;
}
z-index 屬性用來控制重疊元素的堆疊順序。數值越大,元素越靠上。僅對 position 值為 relative、absolute、fixed 或 sticky 的元素有效。
.element {
position: absolute;
z-index: 10;
}
這四個屬性用來調整已定位元素的位置,僅適用於 relative、absolute、fixed 和 sticky 定位方式。
top:距離包含塊的頂部距離。bottom:距離包含塊的底部距離。left:距離包含塊的左側距離。right:距離包含塊的右側距離。static) 是默認值,無法使用 top、left 等屬性。relative) 允許元素相對於其原位置進行偏移。absolute) 使元素脫離文檔流,根據最接近的已定位父元素來定位。fixed) 使元素相對於視窗進行定位,不會隨滾動條移動。sticky) 則會根據滾動條的位置改變定位方式。