使用CSS隱藏元素滾動條

只會寫bug的低音炮發表於2020-10-28

如何隱藏滾動條,同時仍然可以在任何元素上滾動?

首先,如果需要隱藏滾動條並在內容溢位時顯示滾動條,只需要設定overflow:auto樣式即可。想要完全隱藏滾動條只需設定overflow:hidden即可,但是這樣一來將導致元素內容不可滾動。時至今日,還沒有任何一條CSS規則可以使元素可以隱藏滾動條的同時依然可以滾動內容,只能通過針對特定瀏覽器設定滾動條樣式來實現。

Chrome和Safari瀏覽器
對於Chrome和Safari瀏覽器,我們必須使用CSS滾動條選擇器,然後使用display:none隱藏它:

::-webkit-scrollbar {
  display: none; /* Chrome Safari */
}

Firefox瀏覽器
對於Firefox,我們可以將滾動條寬度設定為none:

scrollbar-width: none; /* Firefox */

IE瀏覽器
對於IE,我們需要使用-ms-prefix屬性定義滾動條樣式:

-ms-overflow-style: none; /* IE 10+ */

注意:當你要隱藏滾動條的時候,最好將overflow顯示設定為auto或者scroll保證內容是可滾動的。

示例
我們使用上面的CSS屬性以及溢位實現下面一個例項——隱藏水平滾動條,同時允許垂直滾動條:

.demo::-webkit-scrollbar {
  display: none; /* Chrome Safari */
}

.demo {
  scrollbar-width: none; /* firefox */
  -ms-overflow-style: none; /* IE 10+ */
  overflow-x: hidden;
  overflow-y: auto;
}

原文連結: https://www.cnblogs.com/jofun/p/11158145.html

相關文章