如何創建:平滑滾動
學習如何使用 CSS 創建平滑的滾動效果。
平滑滾動
Section 2
點擊我,平滑滾動至上方第 1 部分。平滑滾動
為 <html> 元素添加 scroll-behavior: smooth
可以啟用全頁面的平滑滾動:
注意:也可以將其添加到特定元素/滾動容器中。
實例
html { scroll-behavior: smooth; }
瀏覽器支持
表中的數字注明了完全支持滾動行為屬性的首個瀏覽器版本。
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome | Edge | Firefox | Safari | Opera |
61.0 | 79.0 | 36.0 | 14.0 | 48.0 |
跨瀏覽器解決方案
對于不支持 scroll-behavior
屬性的瀏覽器,您可以使用 JavaScript 或 JavaScript 庫(如 jQuery)來創建適用于所有瀏覽器的解決方案:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script> $(document).ready(function(){ // 為所有鏈接添加平滑滾動 $("a").on('click', function(event) { // 在覆蓋默認行為之前,確保 this.hash 具有值 if (this.hash !== "") { // 防止默認的錨點點擊行為 event.preventDefault(); // 存儲哈希值 var hash = this.hash; // 使用 jQuery 的 animate() 方法添加平滑的頁面滾動 // 可選數字(800)指定滾動到指定區域所需的毫秒數 $('html, body').animate({ scrollTop: $(hash).offset().top }, 800, function(){ // 完成滾動后,將井號 (#) 添加到 URL(默認點擊行為) window.location.hash = hash; }); } // End if }); }); </script>