簡單實現方式
- 原生 CSS:容器設定固定高度 +
overflow-y: auto(或 scroll)。
<div style="height:300px; overflow-y:auto;">...內容...</div>
- jQuery UI / jQuery Mobile:提供可主題化的滾動視圖元件。
- iScroll / BetterScroll:解決移動端彈性滾動、下拉刷新、上拉加載。
- 框架內建:Vue/React/Angular 生態均有虛擬列表、無限滾動組件。
關鍵點
- 容器必須有明確高度(或 flex:1 佈局)。
- 內容超過容器高度時自動出現滾動條。
- 移動端需注意
-webkit-overflow-scrolling: touch 啟用原生慣性滾動。
代碼範例
<div class="scroll-container">
<ul>
<li>項目 1</li>
<li>項目 2</li>
...
</ul>
</div>
<style>
.scroll-container { height: 100%; overflow-y: auto; -webkit-overflow-scrolling: touch; }
</style>