CSS自定義滾動條樣式案例詳解
CSS3自定義滾動條樣式 -webkit-scrollbar
當內容超出容器時,容器會出現滾動條,其自帶的滾動條有時無法滿足我們審美要求,那麼我們可以通過css偽類來實現對滾動條的自定義。
首先我們要瞭解滾動條。滾動條從外觀來看是由兩部分組成:1,可以滑動的部分,我們叫它滑塊2,滾動條的軌道,即滑塊的軌道,一般來說滑塊的顏色比軌道的顏色深。
滾動條的css樣式主要有三部分組成:
- ::-webkit-scrollbar 定義瞭滾動條整體的樣式;
- ::-webkit-scrollbar-thumb 滑塊部分;
- ::-webkit-scrollbar-thumb 軌道部分;
下面以overflow-y:auto;為例(overflow-x:auto同)
html代碼:
<div class="test test-1"> <div class="scrollbar"></div> </div>
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代碼:
<div class="test test-5"> <div class="scrollbar"></div> </div>
效果如下:
以上就可以做出自己喜歡的滾動條瞭;
如果文檔中會有多個滾動條出現,而且希望所有的滾動條樣式是一樣的,那麼偽元素前面不需要加上class、id、標簽名等之類的任何東西。
到此這篇關於CSS自定義滾動條樣式案例詳解的文章就介紹到這瞭,更多相關CSS自定義滾動條樣式內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- vue修改滾動條樣式的方法
- 使用vant 自定義彈框全過程
- 使用Three.js和React把冰墩墩部署在網頁上的實現方法(實現人手一墩)
- Vue實現tab導航欄並支持左右滑動功能
- el-table渲染慢卡頓問題最優解決方案