Title: Fast Smooth Scroll
Author: Felix Arntz
Published: <strong>2023 年 12 月 31 日</strong>
Last modified: 2026 年 5 月 17 日

---

搜尋外掛

![](https://s.w.org/plugins/geopattern-icon/fast-smooth-scroll.svg)

# Fast Smooth Scroll

 由 [Felix Arntz](https://profiles.wordpress.org/flixos90/) 開發

[下載](https://downloads.wordpress.org/plugin/fast-smooth-scroll.1.0.0.zip)

 * [詳細資料](https://tw.wordpress.org/plugins/fast-smooth-scroll/#description)
 * [使用者評論](https://tw.wordpress.org/plugins/fast-smooth-scroll/#reviews)
 *  [安裝方式](https://tw.wordpress.org/plugins/fast-smooth-scroll/#installation)
 * [開發資訊](https://tw.wordpress.org/plugins/fast-smooth-scroll/#developers)

 [技術支援](https://wordpress.org/support/plugin/fast-smooth-scroll/)

## 外掛說明

This plugin takes a **no-frills approach** to smooth scrolling, providing a **fast,
performant, and accessible user experience**.

**Simply enable the plugin**, and any anchor links (i.e. links that point to other
content on the same page) will provide a smooth scrolling experience rather than
abruptly jumping to the destination content.

The plugin relies on the **latest smooth scrolling techniques using CSS**. A very**
fast and lightweight JavaScript polyfill (<1KB)** is included to equally support
older browsers, including Internet Explorer. So you can rest assured this plugin
covers your userbase.

#### Why does this plugin exist?

Smooth scrolling is a basic feature to enhance user experience, so it shouldn’t 
come at a performance cost that at the same time harms user experience elsewhere.

Several other smooth scrolling solutions unfortunately rely on outdated techniques
such as jQuery, which can hurt your site’s performance, and is really not necessary
to provide the feature. Even browsers as old as 10 years don’t need jQuery to achieve
smooth scrolling. In fact, as of today you can achieve the behavior with only CSS,
not even requiring any JavaScript.

Another potential reason to use this plugin over other smooth scrolling solutions
is accessibility: This plugin respects the user preferences around reduced motion,
which can avoid discomfort for those with [vestibular motion disorders](https://www.a11yproject.com/posts/understanding-vestibular-disorders/).

You may already use a smooth scrolling plugin, but it is worth double checking that
it doesn’t use one of those outdated, inefficient, and inaccessible approaches that
may slow down your site or affect user interactions negatively.

#### More technical details

This plugin simply enables smooth scrolling with the `scroll-behavior` CSS property.
This property has been supported by all modern browsers for a few years now.

To support older browsers as well, a lightweight JavaScript polyfill is included,
which is only loaded for browsers that lack support for the CSS property and doesn’t
require any dependencies. The polyfill uses latest JavaScript user experience best
practices such as `requestAnimationFrame` to provide a smooth scrolling experience
without potentially blocking other user interactions.

For relevant browser support, see:
 * [CSS Scroll-behavior](https://caniuse.com/css-scroll-behavior)*
[CSS property: scroll-padding-top](https://caniuse.com/mdn-css_properties_scroll-padding-top)*
[prefers-reduced-motion media query](https://caniuse.com/prefers-reduced-motion)*
[requestAnimationFrame](https://caniuse.com/requestanimationframe) * [High Resolution Time API](https://caniuse.com/high-resolution-time)*
[NodeList API](https://caniuse.com/mdn-api_nodelist) * [Window API: scrollTo](https://caniuse.com/mdn-api_window_scrollto)

## 安裝方式

 1. Upload the entire `fast-smooth-scroll` folder to the `/wp-content/plugins/` directory
    or download it through the WordPress backend.
 2. Activate the plugin through the ‘Plugins’ menu in WordPress.

## 常見問題集

### Where can I configure the plugin?

This plugin doesn’t come with a settings screen or options of any kind. You install
it, and it just works.

### Why is the scrolling slightly off vertically?

If the anchor scrolling doesn’t end up in exactly the right place, there is a good
chance this is happening because your site uses a fixed header or another element
that overlaps the main content.

For such situations, the plugin supports setting a scroll offset. You can use the
filter `fast_smooth_scroll_offset` to set such an offset in pixels (default is 0,
i.e. no offset).

For example, with the following code you would set a scroll offset of 120 pixels.
This works for both the default CSS-only implementation as well as for the JavaScript
polyfill.

    ```
    <?php

    function myplugin_get_custom_scroll_offset() {
        return 120;
    }
    add_filter( 'fast_smooth_scroll_offset', 'myplugin_get_custom_scroll_offset' );
    ```

### Does the plugin support reduced motion preferences?

Yes! For better accessibility, clients that are configured to reduce motion will
not be affected by the smooth scroll behavior.

The `prefers-reduced-motion` media query is used to detect such a preference. Note
that this only works with the CSS-only solution, as the older browsers that would
require the JavaScript polyfill do not support this preference.

### I don’t care about smooth scrolling for older browsers. How can I disable the JavaScript polyfill?

Since the JavaScript polyfill is only loaded when needed and is extremely lightweight,
there’s probably not much value in disabling it. However, if you want to go for 
the purist solution of only relying on the CSS approach, you can certainly do so,
using the built-in filter `fast_smooth_scroll_enqueue_scripts`, which defaults to`
true`.

For example, with the following code you would ensure the JavaScript polyfill and
even the simple feature detection check are never loaded:

    ```
    <?php

    add_filter( 'fast_smooth_scroll_enqueue_scripts', '__return_false' );
    ```

### How can I test the JavaScript polyfill?

Most likely, you are using a modern browser which therefore does not trigger the
JavaScript polyfill to load.

If you don’t have a legacy browser handy, you can still test the behavior: You’ll
need to be logged in as an administrator, and then you can add a query parameter`
fast_smooth_scroll_debug_polyfill=1` to any URL. For example, in case of the home
page:

    ```
    https://my-site.com/?fast_smooth_scroll_debug_polyfill=1
    ```

### Where should I submit my support request?

For regular support requests, please use the [wordpress.org support forums](https://wordpress.org/support/plugin/fast-smooth-scroll).
If you have a technical issue with the plugin where you already have more insight
on how to fix it, you can also [open an issue on GitHub instead](https://github.com/felixarntz/fast-smooth-scroll/issues).

### How can I contribute to the plugin?

If you have ideas to improve the plugin or to solve a bug, feel free to raise an
issue or submit a pull request in the [GitHub repository for the plugin](https://github.com/felixarntz/fast-smooth-scroll).
Please stick to the [contributing guidelines](https://github.com/felixarntz/fast-smooth-scroll/blob/main/CONTRIBUTING.md).

You can also contribute to the plugin by translating it. Simply visit [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/fast-smooth-scroll)
to get started.

## 使用者評論

![](https://secure.gravatar.com/avatar/4be6cf245f614d4e13d4a3f871b879af30b979fc5cbe791681e5a23b0d89b9ad?
s=60&d=retro&r=g)

### 󠀁[Perfect!](https://wordpress.org/support/topic/perfect-10879/)󠁿

 [Nonos](https://profiles.wordpress.org/nonos/) 2025 年 11 月 21 日

Installed and it works. Straightforward. No hassle. No performance impact. Perfect!

![](https://secure.gravatar.com/avatar/228aba0ee3e48fc755152666eb2aedf65eff9fb3be699a3cef188cb3e55899a4?
s=60&d=retro&r=g)

### 󠀁[Parfait](https://wordpress.org/support/topic/parfait-458/)󠁿

 [Cédric](https://profiles.wordpress.org/icedo/) 2025 年 11 月 2 日

Combiné avec Smooth Scrolling, c’est parfait

![](https://secure.gravatar.com/avatar/590c1a85322729f2345aa128684db6522b37951ea328215b6f501ed8439c0a91?
s=60&d=retro&r=g)

### 󠀁[Fast Smooth Scroll is Great](https://wordpress.org/support/topic/fast-smooth-scroll-is-great/)󠁿

 [Jimmy Lee](https://profiles.wordpress.org/shirtguy72/) 2025 年 3 月 5 日

My anchor links now scroll so much sweeter, also improved the scroll to top button
plugin I was already using with no conflict. Created a simple plugin to disable 
the polyfill. Couldn’t be happier! Thanks!

 [ 閱讀全部 3 則使用者評論 ](https://wordpress.org/support/plugin/fast-smooth-scroll/reviews/)

## 參與者及開發者

以下人員參與了開源軟體〈Fast Smooth Scroll〉的開發相關工作。

參與者

 *   [ Felix Arntz ](https://profiles.wordpress.org/flixos90/)

[將〈Fast Smooth Scroll〉外掛本地化為台灣繁體中文版](https://translate.wordpress.org/projects/wp-plugins/fast-smooth-scroll)

### 對開發相關資訊感興趣？

任何人均可[瀏覽程式碼](https://plugins.trac.wordpress.org/browser/fast-smooth-scroll/)、
查看 [SVN 存放庫](https://plugins.svn.wordpress.org/fast-smooth-scroll/)，或透過
[RSS](https://plugins.trac.wordpress.org/log/fast-smooth-scroll/?limit=100&mode=stop_on_copy&format=rss)
訂閱[開發記錄](https://plugins.trac.wordpress.org/log/fast-smooth-scroll/)。

## 變更記錄

#### 1.0.0

 * First stable version

#### 1.0.0-beta.2

 * Enhanced: Introduce support for optional scroll offset via new filter `fast_smooth_scroll_offset`.
   Props erikyo.
 * Fixed: Support `prefers-reduced-motion` and disable smooth scrolling if reduced
   motion is preferred. Props queerdevperson.
 * Fixed: Avoid unnecessarily set `scroll-behavior` style property on the `html`
   element.

#### 1.0.0-beta.1

 * First beta release

## 中繼資料

 *  版本 **1.0.0**
 *  最後更新 **2 週前**
 *  啟用安裝數 **800+**
 *  WordPress 版本需求 ** 5.0 或更新版本 **
 *  已測試相容的 WordPress 版本 **7.0**
 *  PHP 版本需求 ** 5.2 或更新版本 **
 *  語言
 * [English (US)](https://wordpress.org/plugins/fast-smooth-scroll/)
 * 標籤:
 * [anchor links](https://tw.wordpress.org/plugins/tags/anchor-links/)[lightweight](https://tw.wordpress.org/plugins/tags/lightweight/)
   [performance](https://tw.wordpress.org/plugins/tags/performance/)[scroll animation](https://tw.wordpress.org/plugins/tags/scroll-animation/)
   [smooth scroll](https://tw.wordpress.org/plugins/tags/smooth-scroll/)
 *  [進階檢視](https://tw.wordpress.org/plugins/fast-smooth-scroll/advanced/)

## 評分

 5 星，滿分為 5 星

 *  [  3 個 5 星使用者評論     ](https://wordpress.org/support/plugin/fast-smooth-scroll/reviews/?filter=5)
 *  [  0 個 4 星使用者評論     ](https://wordpress.org/support/plugin/fast-smooth-scroll/reviews/?filter=4)
 *  [  0 個 3 星使用者評論     ](https://wordpress.org/support/plugin/fast-smooth-scroll/reviews/?filter=3)
 *  [  0 個 2 星使用者評論     ](https://wordpress.org/support/plugin/fast-smooth-scroll/reviews/?filter=2)
 *  [  0 個 1 星使用者評論     ](https://wordpress.org/support/plugin/fast-smooth-scroll/reviews/?filter=1)

[Your review](https://wordpress.org/support/plugin/fast-smooth-scroll/reviews/#new-post)

[查看全部使用者評論](https://wordpress.org/support/plugin/fast-smooth-scroll/reviews/)

## 參與者

 *   [ Felix Arntz ](https://profiles.wordpress.org/flixos90/)

## 技術支援

使用者可在技術支援論壇提出意見反應或使用問題。

 [檢視技術支援論壇](https://wordpress.org/support/plugin/fast-smooth-scroll/)

## 贊助

想要支援這個外掛的發展嗎？

 [ 贊助這個外掛 ](https://felix-arntz.me/wordpress-plugins/)