在前面一篇文章中,我們給大家介紹了CSS設定div捲軸樣式,我們都知道當內容超出容器時,容器會出現捲軸,其內建的捲軸有時無法滿足我們審美要求,那麼我們可以通過css偽類來實現對捲軸的自訂。
首先我們要瞭解捲軸。捲軸從外觀來看是由兩部分組成:1,可以滑動的部分,我們叫它滑塊2,捲軸的軌道,即滑塊的軌道,一般來說滑塊的顏色比軌道的顏色深。
捲軸的css樣式主要有三部分組成:
1、::-webkit-scrollbar 定義了捲軸整體的樣式;
2、::-webkit-scrollbar-thumb 滑塊部分;
3、::-webkit-scrollbar-thumb 軌道部分;
下面以overflow-y:auto;為例(overflow-x:auto同)
html代碼:
<p class="test test-1"><p class="scrollbar"></p></p>
css代碼:
.test{ width: 50px; height: 200px; overflow: auto; float: left; margin: 5px; border: none; } .scrollbar{ width: 30px; height: 300px; margin: 0 auto; } .test-1::-webkit-scrollbar {/*捲軸整體樣式*/ width: 10px; /*高寬分別對應橫豎捲軸的尺寸*/ height: 1px; } .test-1::-webkit-scrollbar-thumb {/*捲軸裡面小方塊*/ border-radius: 10px; -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2); background: #535353; } .test-1::-webkit-scrollbar-track {/*捲軸裡面軌道*/ -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2); border-radius: 10px; background: #EDEDED; }
效果如下如:
如果要改變捲軸的寬度:在::-webkit-scrollbar中改變即可;如果要改變捲軸滑塊的圓角,在::-webkit-scrollbar-thumb 中改變;如果要改軌道的圓角在::-webkit-scrollbar-track中改變;
此外,捲軸的滑塊不僅可以填充顏色還可以填充圖片如下:
css代碼:
.test-5::-webkit-scrollbar {/*捲軸整體樣式*/ width: 10px; /*高寬分別對應橫豎捲軸的尺寸*/ height: 1px; } .test-5::-webkit-scrollbar-thumb {/*捲軸裡面小方塊*/ border-radius: 10px; background-color: #F90; background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, .2) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, .2) 50%, rgba(255, 255, 255, .2) 75%, transparent 75%, transparent); } .test-5::-webkit-scrollbar-track {/*捲軸裡面軌道*/ -webkit-box-shadow: inset 0 0 5px rgba(0,0,0,0.2); /*border-radius: 10px;*/ background: #EDEDED; }
html代碼:
<p class="test test-5"><p class="scrollbar"></p></p>
效果如下:
總結:
通過上文中的執行個體學習相信小夥伴們就可以做出自己喜歡的捲軸了、如果文檔中會有多個捲軸出現,而且希望所有的捲軸樣式是一樣的,那麼虛擬元素前面不需要加上class、id、標籤名等之類的任何東西。
相關推薦:
CSS設定div捲軸樣式的樣本
如何解決捲軸樣式問題
html中關於div捲軸樣式設計的執行個體