關於瀏覽器的滾動條的幾個小而美的結論。

2021-10-11 17:38:27 字數 1387 閱讀 2424

(1)在 pc 端,無論是什麼瀏覽器,預設滾動條均來自,而不是標籤。驗

證很簡單,新建乙個空白頁面,此時標籤的預設 margin 值是.5em,如果滾動條是由

標籤產生的,那麼效果應該如圖 1 所示這般邊緣留有間隙。但是最後實現結果卻是

圖 2所示的這樣沒有間隙。

圖 1 產生滾動條的假想效果 圖 2 實際效果無間隙,滾動條由產生

所以,如果我們想要去除頁面預設滾動條,只需要:

html

而沒必要把也拉下水:

html, body

(2)滾動條會占用容器的可用寬度或高度。ie7 及以上版本 ie、chrome、firefox

瀏覽器滾動欄所佔據的寬度均是17px,注意,很精準的是17px,

要知道自己瀏覽器的滾動欄寬度是多少其實很簡單,**如下:

168 第 6 章 流的破壞與保護

.box

console.log(400 - document.getelementbyid("in").clientwidth);

(3)這裡分享乙個可以讓頁面滾動條不發生晃動的小技巧,即使用如下 css **:

html

:root

:root body

body

基本上藥到病除,而且後遺症非常少,大家不妨試試!

(4)滾動條是可以自定義的。因為 ie 瀏覽器的自定義效果實在是比原生的還要難看,就不浪費

大家時間了,就此打住。

倒是支援-webkit-字首的瀏覽器可以說說。例如,對於 chrome 瀏覽器:

• 整體部分,::-webkit-scrollbar;

• 兩端按鈕,::-webkit-scrollbar-button;

• 外層軌道,::-webkit-scrollbar-track;

• 內層軌道,::-webkit-scrollbar-track-piece;

• 滾動滑塊,::-webkit-scrollbar-thumb;

• 邊角,::-webkit-scrollbar-corner。

但是我們平時開發中只用下面 3 個屬性:

::-webkit-scrollbar

::-webkit-scrollbar-thumb

::-webkit-scrollbar-track

在目標瀏覽器下的滾動條效果就會如圖所示這般。

瀏覽器滾動條

做 時發現登入成功後瀏覽器滾動條消失無法滾動頁面 通過觀察和除錯,發現是強制隱藏了bootstrap的模態框後,body的overflow變為了hidden,同時也多了乙個17px的右內邊距,無法呼叫出垂直滾動條,解決方案 隱藏模態框的同時設定body的overflow為scroll,同時取消右內邊...

iframe滾動條充當瀏覽器滾動條

在做部落格專案的時候,使用了iframe,方便根據選擇的文章類別切換顯示的內容,但是文章一般都有很多,通過bootstrap的 列表的方式顯示的話,iframe是一定會出現滾動條的,特別是我新增了乙個 滾動條觸底之後動態載入更多的文章 的功能。這樣頁面上就會有兩個滾動條,特別奇怪。在網上學習了一些之...

瀏覽器滾動條的處理

今天遇到了乙個關於滾動條的問題,為了處理這個問題整整試了一上午,子元素的寬度缺省會撐滿父元素的寬度 沒有滾動條時 子元素寬度 父元素寬度 有滾動條時 父元素的有效寬度會變小 父元素寬度 原父元素寬度 滾動條寬度 因此子元素重新調整寬度 子元素寬度 原父元素寬度 滾動條寬度 此時子元素明顯會因為寬度變...