為什麼17年來Firefox一直不支持CSS定義滾動條樣式呢?

早在17年前就有人提出了建議,之後重複的request無數,但 Mozilla Firefox 直到今天仍然不支持。

Bugzilla: Style the scrollbar (binding ::-moz-horizontal-scrollbar to XBL)?

bugzilla.mozilla.org

有 Reddit 網友給出的解釋是:

Because a11y and common sense: scrollbar styling is part of the OS.

Also OS user prefs should always have precedence over App user prefs.

The question is more: why is scrollbar styling still supported in some browsers?

我的問題和這位網友一樣,為什麼Chrome之類的webkit瀏覽器就支持?其實同樣的問題不止Firefox,還有MS IE/Edge,不過微軟的事就先懶得討論了。。

===================

Im sure theyre on it, the feature request / bug was reported only 17 year ago, give them time.


在我看來,這個問題並不簡單。正如題目中引用的,滾動條是操作系統的一部分。重造這個輪子,將有一系列相關的輪子需要重造,包括不僅限於:

1. 可滾動區域功能

2. 滑鼠滾輪滾動功能

3. 對接系統的滾動速度調節功能。

4. 觸控板支持。

5. 觸摸屏支持。

如果換一個角度考慮問題,Chrome支持滾動條的樣式修改,但是又有多少網站去改變了滾動條的樣式呢?為什麼這幾個相關的css私有偽元素,為什麼一直沒有被w3c標準採納?我猜原因只有一個,那就是修改滾動條的樣式,並沒有什麼卵用。換個樣式,並不能讓操作變得更方便。而樣式方面的問題,用戶完全可以按照自己的喜好選擇操作系統中的主題,控制權完全在用戶,我們有沒有必要將這個控制權交給css開發人員,這很值得商榷。


這個時候就要搬出reddit老哥的名言了:

1. small indie company

2. free software no bitching


推薦閱讀:

工作中常用的meta標籤總結
《愛奇藝動畫屋》播放時間段怎麼設置?
持久化存儲與HTTP緩存
koa2,你的初戀
web前端大咖告訴你們前端怎麼學習?該怎樣學習!

TAG:前端開發 | CSS | 火狐瀏覽器Firefox |