position:fixed 相對於窗口的固定定位,這個窗口可理解為可視窗口,除了瀏覽器自己的東西,剩下的就是這個可視窗口。而大部分的網頁都是窄屏設計,比如說網頁主體部分固定寬 1200px,或者自適應隨着窗口大小變化,除了主體部分,其他部分都是留白處理。如下圖所示:
要實現這個需求有兩個解決辦法:
1、css 中的固定定位思路
① 給這個 div (div 一定要在主體部分 div 里面)加一個父級 DIV;
② 設置父級 DIV 的樣式:寬設置為 inherit,高等於 div 的高、position:fixed、top 設置離窗口的距離(left 不要設置)、z 軸隨情況定;
③ 設置 div 的樣式:float:right(不想最右側,可以加個 margin-right)。
這樣就搞定了,如下圖所示:
2、js+css 實現思路
① 設置 div 的樣式:position:absolute、top 設置離窗口的距離、right設置離主體部分右側的距離;
② 用 js 來獲取網頁滾動距離,然后將 div 的 top 值加上這個滾動距離。
右下角的返回頂部就是通過第一個思路實現的,小伙伴們還在等什么。