鼠標懸停改變滾動條樣式(高度、寬度、顏色)

接到UE需求,需要對界面滾動條進行修改,主要是鼠標懸停改變顏色和大小,心裏想着是比較簡單的(萬惡的IE肯定不在考慮範圍內),誰知道愣是搞了半天才完成ORZ,直接上源碼和實現圖吧。

css代碼
        ::-webkit-scrollbar{
            height: 9px !important;
            width: 9px !important;
        }

        ::-webkit-scrollbar-thumb {
            border-radius: 0;
            border-style: dashed;
            background-color: rgba(157, 165, 183, 0.4);
            border-color: transparent;
            border-width: 1.5px;
            background-clip: padding-box;
        }

        ::-webkit-scrollbar-thumb:hover {
            background: rgba(157, 165, 183, 0.7)
        }

懸浮改變滾動條樣式

代碼解析

之前看到滾動條的滑塊有-webkit-scrollbar-thumb:hover 屬性,以爲直接改變大小和顏色即可,後面發現壓根顏色是生效了,但是大小不變。

        ::-webkit-scrollbar-thumb:hover {
            height: 9px !important;
            width: 9px !important;
            background: rgba(0, 0, 0, 0.7)
        }

然後現在問題就變成了懸停如何修改大小了,然後無意中發現,滾動條滑塊是由背景顏色和border共同渲染的。
在這裏插入圖片描述
又很偶然的發現background-clip: padding-box//,設置後背景延伸至內邊距(padding)外沿,不會繪製到邊框處,最後想到把邊框顏色改成透明,這不會影響懸停時的樣式,就完成了鼠標懸停改變滾動條樣式(高度、寬度、顏色)
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章