溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

CSS怎么自定義滾動條樣式

發(fā)布時間:2021-07-21 19:21:18 來源:億速云 閱讀:180 作者:chen 欄目:web開發(fā)

本篇內(nèi)容介紹了“CSS怎么自定義滾動條樣式”的有關(guān)知識,在實(shí)際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

相信很多人都遇到過在設(shè)計中自定義滾動條樣式的情景,之前我都是努力說服設(shè)計師接受瀏覽器自帶的滾動條樣式,但是這樣只能規(guī)避還是解決不了問題,最近在項目中遇到了,正好來總結(jié)一下。當(dāng)然,兼容所有瀏覽器的滾動條樣式目前是不存在的。

IE下的滾動條樣式

IE是最早提供滾動條的樣式支持,嗯,好多年了,但是其它瀏覽器一直沒有支持,IE獨(dú)孤求敗了。

這些樣式規(guī)則很簡單:

scrollbar-arrow-color: color; /*三角箭頭的顏色*/ scrollbar-face-color: color; /*立體滾動條的顏色(包括箭頭部分的背景色)*/ scrollbar-3dlight-color: color; /*立體滾動條亮邊的顏色*/ scrollbar-highlight-color: color; /*滾動條的高亮顏色(左陰影?)*/ scrollbar-shadow-color: color; /*立體滾動條陰影的顏色*/ scrollbar-darkshadow-color: color; /*立體滾動條外陰影的顏色*/ scrollbar-track-color: color; /*立體滾動條背景顏色*/ scrollbar-base-color:color; /*滾動條的基色*/

大概就這些,你也可以定義cursor來定義滾動條的鼠標(biāo)手勢。

這里,很久以前danger做了個基于Flash的可視化工具,簡單但是好用:

選中CSS選項即可自動生成CSS樣式,這里不再過多的介紹了。嗯,多謝大貓老濕推薦。

webkit的自定義滾動條樣式

yes,這里才是今天要重點(diǎn)介紹的。

從上一部分的樣式名中就可以看到,IE只能定義相關(guān)部分的color等屬性,這樣太不靈活了。

webkit最近實(shí)現(xiàn)了對滾動條的支持,先看一個簡單的demo:

不過,webkit不再是用簡單的幾個CSS屬性,而是一坨的CSS偽元素:

:horizontal – horizontal偽類應(yīng)用于水平方向的滾動條

:vertical – vertical偽類應(yīng)用于豎直方向的滾動條

:decrement – decrement偽類應(yīng)用于按鈕和內(nèi)層軌道(track piece)。它用來指示按鈕或者內(nèi)層軌道是否會減小視窗的位置(比如,垂直滾動條的上面,水平滾動條的左邊。)

:increment – increment偽類和decrement類似,用來指示按鈕或內(nèi)層軌道是否會增大視窗的位置(比如,垂直滾動條的下面和水平滾動條的右邊。)

:start – start偽類也應(yīng)用于按鈕和滑塊。它用來定義對象是否放到滑塊的前面。

:end – 類似于start偽類,標(biāo)識對象是否放到滑塊的后面。

:double-button – 該偽類以用于按鈕和內(nèi)層軌道。用于判斷一個按鈕是不是放在滾動條同一端的一對按鈕中的一個。對于內(nèi)層軌道來說,它表示內(nèi)層軌道是否緊靠一對按鈕。

:single-button – 類似于double-button偽類。對按鈕來說,它用于判斷一個按鈕是否自己獨(dú)立的在滾動條的一段。對內(nèi)層軌道來說,它表示內(nèi)層軌道是否緊靠一個single-button。

:no-button – 用于內(nèi)層軌道,表示內(nèi)層軌道是否要滾動到滾動條的終端,比如,滾動條兩端沒有按鈕的時候。

:corner-present – 用于所有滾動條軌道,指示滾動條圓角是否顯示。

:window-inactive – 用于所有的滾動條軌道,指示應(yīng)用滾動條的某個頁面容器(元素)是否當(dāng)前被激活。(在webkit最近的版本中,該偽類也可以用于::selection偽元素。webkit團(tuán)隊有計劃擴(kuò)展它并推動成為一個標(biāo)準(zhǔn)的偽類)

另外,:enabled、:disabled、:hover 和 :active 等偽類同樣可以用于滾動條中。

關(guān)于具體的demo,這里不再做了,網(wǎng)上已經(jīng)有很多demo可以參考,比如,webkit官方的這個,具體的線上項目中也有現(xiàn)成的例子,比如,QQ空間的簽到彈出框和豆瓣說的右側(cè)詳情欄(某條信息評論多的時候會顯示)。

值得一提的是,webkit的這個偽類和偽元素的實(shí)現(xiàn)很強(qiáng)大,雖然類目有些多,但是我們可以把滾動條當(dāng)成一個頁面元素來定義,也差不多可以用上一些高級的CSS3屬性,比如漸變、圓角、RGBa等等,當(dāng)然有些地方也可以用圖片,然后圖片也可以轉(zhuǎn)換成Base64,總之,可以盡情發(fā)揮了。

“CSS怎么自定義滾動條樣式”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI