使用CSS屬性「position:sticky」允許元素在捲動時附加到螢幕上的特定位置,類似於將其錨定到位。此屬性對於在訪客瀏覽您的網站時保持重要元素(例如側邊欄)的可見性非常有用。
在本指南中,您將了解:
- 「位置:黏性」實施說明
- 故障排除技巧
使用“位置:黏性”的指南
「position:sticky」的行為會根據使用者的捲動活動在相對和固定之間轉換元素的位置。黏滯元素保留其在 document 流中的相對位置,直到到達某個滾動點,在此階段,它的行為類似於其直接父級中的固定元素。一旦黏性元素到達其父容器的底部,它就停止進一步移動。
要在側邊欄上使用“位置:黏性”:
- 選擇工作區域內的側邊欄
- 訪問 風格面板 > 位置
- 選擇 黏 從提供的選擇中
- 為頂部、底部、左側或右側邊緣指派特定值(例如,0px、30px 等)
本質上,您必須為頂部、底部、左側或右側至少指定一個位置值,「position:sticky」才能正常運作。這取決於元素相對於其父元素的位置以及使用者的滾動方向(垂直或水平)。
若要將側邊欄固定到頁面頂部,請將頂部值設為 0px。或者,如果您希望它以 30 像素的邊距附著在頂部,請將 30 像素指定為頂部值。當您捲動時,側邊欄應保持固定在側邊欄容器(即直接父級)內的頁面上。
故障排除指南
如果出現以下情況,可能會出現「位置:黏性」問題:
- 沒有為元素的至少一個邊緣(例如,頂部、底部、左側或右側)指定特定距離值
- 溢出僅限於該元素的任何父元素上的隱藏、捲動或自動
- 任何父元素都有明確定義的高度
- 這 瀏覽器缺乏對黏性定位的支持
如果沒有為元素的至少一個邊緣(例如,上、下、左或右)分配特定的距離值,則「位置:黏性」的功能將受到阻礙。如果將距離值應用於不受滾動影響的邊緣,「position:sticky」的行為可能與預期不符。例如,在垂直滾動時設置左側或右側的距離將阻止側邊欄按預期粘住。
「位置:黏性」的有效性也可能受到對齊設定的影響,特別是當側邊欄是 Flex 或網格容器的子容器時。例如,在具有 flex 或 grid 屬性的父元素中將側邊欄與頂部對齊時指定到底部的距離將防止側邊欄黏在頁面底部。
Ewan Mak 的最新帖子 (看全部)
- 包含或消除工作區點和成員 - 2024 年 4 月 15 日
- 定心框總結 - 2024 年 4 月 15 日
- 儲存站點以供日後參考 - 2024 年 4 月 15 日