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