武林網(wǎng)(www.survivalescaperooms.com)文章簡(jiǎn)介:相信很多人都遇到過(guò)在設(shè)計(jì)中自定義滾動(dòng)條樣式的情景,之前我都是努力說(shuō)服設(shè)計(jì)師接受瀏覽器自帶的滾動(dòng)條樣式,但是這樣只能規(guī)避還是解決不了問(wèn)題,最近在項(xiàng)目中遇到了,正好來(lái)總結(jié)一下。當(dāng)然,兼容所有瀏覽器的滾動(dòng)條樣式目前是不存在的。
相信很多人都遇到過(guò)在設(shè)計(jì)中自定義滾動(dòng)條樣式的情景,之前我都是努力說(shuō)服設(shè)計(jì)師接受瀏覽器自帶的滾動(dòng)條樣式,但是這樣只能規(guī)避還是解決不了問(wèn)題,最近在項(xiàng)目中遇到了,正好來(lái)總結(jié)一下。當(dāng)然,兼容所有瀏覽器的滾動(dòng)條樣式目前是不存在的。
IE下的滾動(dòng)條樣式IE是最早提供滾動(dòng)條的樣式支持,嗯,好多年了,但是其它瀏覽器一直沒(méi)有支持,IE獨(dú)孤求敗了。
這些樣式規(guī)則很簡(jiǎn)單:
大概就這些,你也可以定義cursor來(lái)定義滾動(dòng)條的鼠標(biāo)手勢(shì)。
這里,很久以前danger做了個(gè)基于Flash的可視化工具,簡(jiǎn)單但是好用:
選中CSS選項(xiàng)即可自動(dòng)生成CSS樣式,這里不再過(guò)多的介紹了。嗯,多謝大貓老濕推薦。
webkit的自定義滾動(dòng)條樣式yes,這里才是今天要重點(diǎn)介紹的。
從上一部分的樣式名中就可以看到,IE只能定義相關(guān)部分的color等屬性,這樣太不靈活了。
webkit最近實(shí)現(xiàn)了對(duì)滾動(dòng)條的支持,先看一個(gè)簡(jiǎn)單的demo:
不過(guò),webkit不再是用簡(jiǎn)單的幾個(gè)CSS屬性,而是一坨的CSS偽元素:
通過(guò)這些偽元素,可以完全的重寫一個(gè)網(wǎng)站的滾動(dòng)條樣式。
當(dāng)然webkit提供的不止這些,還有很多偽類,可以更豐富滾動(dòng)條樣式:
另外,:enabled、:disabled、:hover 和 :active 等偽類同樣可以用于滾動(dòng)條中。
關(guān)于具體的demo,這里不再做了,網(wǎng)上已經(jīng)有很多demo可以參考,比如,webkit官方的這個(gè),具體的線上項(xiàng)目中也有現(xiàn)成的例子,比如,QQ空間的簽到彈出框和豆瓣說(shuō)的右側(cè)詳情欄(某條信息評(píng)論多的時(shí)候會(huì)顯示)。
值得一提的是,webkit的這個(gè)偽類和偽元素的實(shí)現(xiàn)很強(qiáng)大,雖然類目有些多,但是我們可以把滾動(dòng)條當(dāng)成一個(gè)頁(yè)面元素來(lái)定義,也差不多可以用上一些高級(jí)的CSS3屬性,比如漸變、圓角、RGBa等等,當(dāng)然有些地方也可以用圖片,然后圖片也可以轉(zhuǎn)換成Base64,總之,可以盡情發(fā)揮了。
PS:中間部分術(shù)語(yǔ)翻譯不到位,歡迎斧正。
參考文章:新聞熱點(diǎn)
疑難解答
圖片精選