在CSS中,position屬性用來控制元素在頁面中的位置。它有五個不同的值:static、relative、absolute、fixed、sticky。每個值有不同的作用和用法。
/* static */ position: static;
默認值為static,元素會按照文檔流正常排列,left、right、top、bottom屬性沒有效果。
/* relative */ position: relative; left: 10px; top: 10px;
relative的元素在頁面中的位置仍然占據文檔流的位置,但可以通過left、right、top、bottom屬性相對移動。
/* absolute */ position: absolute; left: 10px; top: 10px;
absolute的元素會脫離文檔流,相對于最近的非static的祖先元素進行定位。如果沒有非static的祖先元素,則相對于body元素進行定位。
/* fixed */ position: fixed; left: 10px; top: 10px;
fixed的元素也會脫離文檔流,但相對于viewport的位置進行定位,因此會隨著頁面滾動而不變。
/* sticky */ position: sticky; top: 10px;
sticky的元素在頁面中表現類似于fixed的元素,但它會保持在父元素的某個范圍內。也就是說,當元素到達容器邊界時,它會變成固定定位,直到容器重新滾動到它的范圍內。