成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

學(xué)會使用 CSS 自定義滾動條,能讓你做的產(chǎn)品更有用戶體驗!

開發(fā) 前端
自定義滾動條現(xiàn)在越來越流行,很值得研究一翻。我一直對如何在CSS中定制滾動條很感興趣,但一直沒有機會這樣做。今天,我就記錄一下自己的學(xué)習(xí)過程。

[[409201]]

自定義滾動條現(xiàn)在越來越流行,很值得研究一翻。為什么需要自定義滾動?瀏覽器的默認(rèn)的滾動條讓UI在多個操作系統(tǒng)中看起來不一致,使用定義滾動我們可以統(tǒng)一風(fēng)格。

我一直對如何在CSS中定制滾動條很感興趣,但一直沒有機會這樣做。今天,我就記錄一下自己的學(xué)習(xí)過程。

簡介

首先需要介紹一下滾動條的組成部分。滾動條包含 track 和 thumb,如下圖所示:

track是滾動條的基礎(chǔ),其中的 thumb是用戶拖動支頁面或章節(jié)內(nèi)的滾動。

還有一件重要的事情要記住,滾動條可以水平或垂直地工作,這取決于設(shè)計。另外,在一個多語言網(wǎng)站上工作時,這一點也會發(fā)生變化,該網(wǎng)站在從左到右(LTR)和從右到左(RTL)兩個方向上工作。

自定義滾動條設(shè)計

擁有一個自定義的滾動條曾經(jīng)是webkit的專利,所以Firefox和IE被排除在游戲之外。我們有一種新的語法,只在Firefox中使用,當(dāng)它被完全支持時,將使我們的工作更容易。我們先看一下舊的Webkit語法,然后再介紹新的語法。

舊的語法

滾動條的寬度

首先,我們需要定義滾動條的大小。這可以是垂直滾動條的寬度,也可以是水平滾動條的高度。

  1. .section::-webkit-scrollbar { 
  2.     width: 10px; 

有了這一設(shè)置,我們就可以設(shè)置滾動條本身的樣式。

滾動條 track

這代表了滾動條的基礎(chǔ)。我們可以通過添加background、shadows、border-radius和border來對它進行造型。

  1. .section::-webkit-scrollbar-track { 
  2.     background-color: darkgrey; 

滾動條 thumb

準(zhǔn)備好了滾動條的基礎(chǔ)后,我們就需要對滾動條的thumb進行樣式設(shè)計。這很重要,因為用戶可能會拖動這個thumb與滾動條進行交互。

  1. .section::-webkit-scrollbar-thumb { 
  2.     box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); 

至此,我們已經(jīng)介紹了CSS中定制滾動條的老方法。讓我們探索一下新的語法。

新語法

Scrollbar Width

正如它所說的,這定義了滾動條的寬度,有兩個值auto 和 thin。不好的地方就是,我們不能像webkit的語法那樣定義一個具體的數(shù)字。

  1. .section { 
  2.   scrollbar-width: thin; 

Scrollbar Color

有了這個屬性,我們可以為滾動條 track和thumb定義成對值的顏色。

  1. .section { 
  2.     scrollbar-color: #6969dd #e0e0e0; 
  3.     scrollbar-width: thin; 

盡管這個新語法很簡單,但它是有限制的。我們只能添加顏色。我們不能添加shadows``、gradients、rounded`,或任何類似的東西,我們被允許定制的只是顏色。

指定自定義滾動條的范圍

要知道的一個重要問題是,在哪里定制滾動條。你希望樣式是通用的,對網(wǎng)站上的所有滾動條都有效嗎?還是你只想讓它用于特定的部分?

使用舊的語法,我們可以編寫選擇器,而不必將它們附加到元素上,它們將應(yīng)用于所有可滾動的元素。

  1. ::-webkit-scrollbar { 
  2.     width: 10px; 
  3.  
  4. ::-webkit-scrollbar-track { 
  5.     background-color: darkgrey; 
  6.  
  7. ::-webkit-scrollbar-thumb { 
  8.     box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); 

如果你想只適用于一個特定的部分,你需要在選擇器之前附加元素。

  1. .section::-webkit-scrollbar { 
  2.     width: 10px; 
  3.  
  4. .section::-webkit-scrollbar-track { 
  5.     background-color: darkgrey; 
  6.  
  7. .section::-webkit-scrollbar-thumb { 
  8.     box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3); 

對于新的語法,它幾乎是一樣的。我注意到的是,如果你想要一個通用的樣式,它應(yīng)該被應(yīng)用于元素,而不是。

  1. html { 
  2.     scrollbar-color: #6969dd #e0e0e0; 
  3.     scrollbar-width: thin; 

我嘗試為添加上面的內(nèi)容,但它沒有像預(yù)期的那樣工作。

現(xiàn)在我們知道了新舊語法的工作原理,接著,我們開始定制一些滾動條設(shè)計。

自定義滾動條設(shè)計

例1

在研究定制滾動條之前,值得討論一下Mac OS中的默認(rèn)樣式。下面是它的外觀。

  • 滾動條track 的左右兩邊都有邊框,背景色為純色。
  • 滾動條thumb是圓形的,左右兩邊都有空間。

對于Windows,它有點不同。

下面是我們根據(jù)上面的模擬圖來定制滾動條。

  1. .section::-webkit-scrollbar { 
  2.     width: 16px; 
  3.   
  4. .section::-webkit-scrollbar-track { 
  5.     background-color: #e4e4e4; 
  6.     border-radius: 100px; 
  7.   
  8. .section::-webkit-scrollbar-thumb { 
  9.     background-color: #d4aa70; 
  10.     border-radius: 100px; 

為 track 和thumb添加border-radius是必要的,因為它在::webkit-scrollbar上不起作用。

在新的語法中,我們不能調(diào)整滾動條的寬度,唯一能做的的是改變 track 和thumb的背景顏色。

  1. .section { 
  2.     scrollbar-color: #D4AA70 #e4e4e4; 

例2

對于這個例子,設(shè)計有點重,因為它包含漸變和陰影。我們可以應(yīng)用內(nèi)部陰影和漸變來模仿這種效果。來看看怎么做!

  1. .section::-webkit-scrollbar-thumb { 
  2.     background-image: linear-gradient(180deg, #D0368A 0%, #708AD4 99%); 
  3.     box-shadow: inset 2px 2px 5px 0 rgba(#fff, 0.5); 
  4.     border-radius: 100px; 

示例地址:https://codepen.io/shadeed/pen/VwpOReG

例3

我們還可以為 thumb 和track添加邊框,這可以幫助我們處理一些棘手的設(shè)計。

  1. .section::-webkit-scrollbar-thumb { 
  2.     border-radius: 100px; 
  3.     background: #8070D4; 
  4.     border: 6px solid rgba(0,0,0,0.2); 

基于同樣的例子,我們可以重置頂部和底部邊界為零,這樣thumb獲得一個有趣的效果。注意thumb頂部和底部的那些小元素。

示例地址:https://codepen.io/shadeed/pen/qBrGvOx

可以添加懸停效果嗎?

我們可以為新舊語法的滾動條thumb添加懸停效果。

  1. /* 舊語法 */ 
  2. .section::-webkit-scrollbar-thumb:hover { 
  3.     background-color: #5749d2; 
  4.  
  5. /* 新語法 */ 
  6. .section { 
  7.     scrollbar-color: #d4aa70 #e4e4e4; 
  8.     transition: scrollbar-color 0.3s ease-out
  9.  
  10. .section:hover { 
  11.     scrollbar-color: #5749d2; 

需要時顯示滾動條

創(chuàng)建一個可滾動的元素是可以通過給overflow屬性添加一個除visible以外的值。建議使用auto關(guān)鍵字,因為它只在內(nèi)容超過其容器時才會顯示滾動條。

  1. .section { 
  2.     overflow-y: auto; 

可訪問性問題

在定制滾動條設(shè)計時,請記住在 thumb 和 track之間要有良好的對比,這樣它就容易被用戶注意。

考慮一下下面這個自定義滾動條的 "壞 "例子。

thumb 的顏色幾乎看不出來。這對用戶來說不是好事,因為如果他們習(xí)慣于通過thumb 滾動,這將增加他們的難度。

作者:ishadeed

譯者:前端小智 來源:ishadeed

原文:https://ishadeed.com/article/custom-scrollbars-css/

 

責(zé)任編輯:姜華 來源: 大遷世界
相關(guān)推薦

2011-05-12 16:30:44

自定義滾動條

2022-07-08 09:27:48

CSSIFC模型

2010-09-09 11:25:55

滾動條CSS

2021-01-12 10:16:42

CSS 容器優(yōu)化滾動

2024-01-22 09:28:23

CSS前端滾動驅(qū)動

2023-11-22 07:47:34

2022-06-27 08:16:34

JSON格式序列化

2010-09-30 15:24:31

滾動條Javascript

2022-12-07 07:48:36

WebStorm自定義TouchBar

2023-08-11 09:16:14

2009-11-05 15:25:36

WCF服務(wù)端配置

2021-10-09 10:50:30

JavaScript編程開發(fā)

2022-05-27 07:51:07

自定義無序列表CSS

2022-08-08 08:17:43

類隔離加載器自定義類

2024-11-27 11:07:20

vue計算屬性

2015-11-06 13:37:25

Git配置文件Linux

2010-09-14 10:13:53

DIV滾動條

2010-10-20 16:07:48

SQL用戶自定義角色

2021-01-18 17:46:05

釘釘用戶體驗評測

2023-09-11 09:07:58

CSS隱藏滾動條
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 亚洲成人av一区二区 | 日本欧美视频 | 免费一区二区三区 | 欧美国产视频 | 日本亚洲精品成人欧美一区 | 国产亚洲精品a | 天天av天天好逼 | 亚洲精品天堂 | 欧美视频成人 | 欧美精| 精品日韩在线 | 成人在线看片 | 自拍在线 | 免费在线看a| 成人三级在线播放 | 亚洲欧洲精品成人久久奇米网 | 欧美一区二区黄 | 欧美在线视频网 | 中文字幕一区二区三区不卡 | 精品综合 | 一级黄色大片 | 网色| 亚洲国产电影 | 免费在线看黄视频 | 精品熟人一区二区三区四区 | 久久久妇女国产精品影视 | 亚洲高清视频一区二区 | 精品国产乱码久久久久久丨区2区 | 亚洲免费视频网站 | 一区二区三区四区毛片 | 国产免费人成xvideos视频 | 中文字幕精品一区 | 在线激情视频 | 成人在线播放网站 | 97精品国产97久久久久久免费 | 91精品国产91久久久久久吃药 | 欧美性受| 久久精品二区亚洲w码 | 久久亚洲欧美日韩精品专区 | 久久成人免费 | 国产精品综合网 |