多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > web前端 > htmlcss > CSS自定義滾動條樣式

CSS自定義滾動條樣式

來源:程序員人生   發布時間:2014-05-07 13:47:04 閱讀次數:2690次

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

IE下的滾動條樣式

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

這些樣式規則很簡單:

  • 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來定義滾動條的鼠標手勢。

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

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

webkit的自定義滾動條樣式

yes,這里才是今天要重點介紹的。

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

webkit最近實現了對滾動條的支持,先看一個簡單的demo:

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

  • ::-webkit-scrollbar 滾動條整體部分
  • ::-webkit-scrollbar-button 滾動條兩端的按鈕
  • ::-webkit-scrollbar-track 外層軌道
  • ::-webkit-scrollbar-track-piece 內層軌道,滾動條中間部分(除去)
  • ::-webkit-scrollbar-thumb (拖動條?滑塊?滾動條里面可以拖動的那個,腫么翻譯好呢?)
  • ::-webkit-scrollbar-corner 邊角
  • ::-webkit-resizer 定義右下角拖動塊的樣式

通過這些偽元素,可以完全的重寫一個網站的滾動條樣式。

當然webkit提供的不止這些,還有很多偽類,可以更豐富滾動條樣式:

  • :horizontal – horizontal偽類應用于水平方向的滾動條
  • :vertical – vertical偽類應用于豎直方向的滾動條
  • :decrement – decrement偽類應用于按鈕和內層軌道(track piece)。它用來指示按鈕或者內層軌道是否會減小視窗的位置(比如,垂直滾動條的上面,水平滾動條的左邊。)
  • :increment – increment偽類和decrement類似,用來指示按鈕或內層軌道是否會增大視窗的位置(比如,垂直滾動條的下面和水平滾動條的右邊。)
  • :start – start偽類也應用于按鈕和滑塊。它用來定義對象是否放到滑塊的前面。
  • :end – 類似于start偽類,標識對象是否放到滑塊的后面。
  • :double-button – 該偽類以用于按鈕和內層軌道。用于判斷一個按鈕是不是放在滾動條同一端的一對按鈕中的一個。對于內層軌道來說,它表示內層軌道是否緊靠一對按鈕。
  • :single-button – 類似于double-button偽類。對按鈕來說,它用于判斷一個按鈕是否自己獨立的在滾動條的一段。對內層軌道來說,它表示內層軌道是否緊靠一個single-button。
  • :no-button – 用于內層軌道,表示內層軌道是否要滾動到滾動條的終端,比如,滾動條兩端沒有按鈕的時候。
  • :corner-present – 用于所有滾動條軌道,指示滾動條圓角是否顯示。
  • :window-inactive – 用于所有的滾動條軌道,指示應用滾動條的某個頁面容器(元素)是否當前被激活。(在webkit最近的版本中,該偽類也可以用于::selection偽元素。webkit團隊有計劃擴展它并推動成為一個標準的偽類)

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

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

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

PS:中間部分術語翻譯不到位,歡迎斧正。

參考文章

  • Styling Scrollbars
  • Creating custom scrollbars with CSS; How CSS isn’t great for every task

原文:http://www.qianduan.net/css-custom-scroll-bar-style.html

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: 欧美日韩在线看 | 真实国产乱人伦在线视频播放 | 精品国产成人三级在线观看 | 福利视频一区二区三区 | 激情久久免费视频 | 爽爽影院色黄网站在线观看 | 小说区乱图片区 | 欧美一区二区久久精品 | 亚洲免费午夜视频 | 亚洲专区视频 | 欧美性受xxxx白人性爽 | 羞羞视频免费入口网站 | 东北普通话清晰对白 | 在线亚洲欧洲国产综合444 | tom影院亚洲国产日本一区 | 精品久久久久久中文字幕一区 | 午夜免费视频观看在线播放 | 91亚洲国产成人精品性色 | 欧美一级毛片无遮挡 | 97av在线 | 国产精品福利资源在线 | 免费爱做网站在线看 | 国产精品久久久久无毒 | 91热久久免费频精品黑人99 | 国产精品中文字幕在线观看 | 成人福利在线免费观看 | 亚洲 日本 欧美 | 日本久久精品免视看国产成人 | 欧美成人全部免费观看1314色 | 免费一级毛片在播放视频 | 国产在线播放不卡 | 欧美一级毛片美99毛片 | 国产精欧美一区二区三区 | 亚洲视频中文 | 最近中文字幕高清免费大全8 | 亚洲处破女www | 亚洲小说区图片区 | 在线观看免费亚洲 | 韩国女主播一区二区三区视频 | 国产欧美综合一区二区 | 欧美日韩国产精品 |