手把手教你使用CSS自定义好看的滚动条样式!


当前第2页 返回上一页

在研究定制滚动条之前,值得讨论一下Mac OS中的默认样式。下面是它的外观。

  • 滚动条track 的左右两边都有边框,背景色为纯色。
  • 滚动条thumb是圆形的,左右两边都有空间。

对于Windows,它有点不同。

2.png

下面是我们根据上面的模拟图来定制滚动条。

1

2

3

4

5

6

7

8

9

10

11

12

13

.section::-webkit-scrollbar {

    width: 16px;

}

  

.section::-webkit-scrollbar-track {

    background-color: #e4e4e4;

    border-radius: 100px;

}

  

.section::-webkit-scrollbar-thumb {

    background-color: #d4aa70;

    border-radius: 100px;

}

trackthumb添加border-radius是必要的,因为它在::webkit-scrollbar上不起作用。

在新的语法中,我们不能调整滚动条的宽度,唯一能做的的是改变 trackthumb的背景颜色。

1

2

3

.section {

    scrollbar-color: #D4AA70 #e4e4e4;

}

例2

对于这个例子,设计有点重,因为它包含渐变和阴影。我们可以应用内部阴影和渐变来模仿这种效果。来看看怎么做!

3.png

1

2

3

4

5

.section::-webkit-scrollbar-thumb {

    background-image: linear-gradient(180deg, #D0368A 0%, #708AD4 99%);

    box-shadow: inset 2px 2px 5px 0 rgba(#fff, 0.5);

    border-radius: 100px;

}

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

例3

我们还可以为 thumbtrack添加边框,这可以帮助我们处理一些棘手的设计。

4.png

1

2

3

4

5

.section::-webkit-scrollbar-thumb {

    border-radius: 100px;

    background: #8070D4;

    border: 6px solid rgba(0,0,0,0.2);

}

基于同样的例子,我们可以重置顶部和底部边界为零,这样thumb获得一个有趣的效果。注意thumb顶部和底部的那些小元素。

5.png

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

可以添加悬停效果吗?

我们可以为新旧语法的滚动条thumb添加悬停效果。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

/* 旧语法 */

.section::-webkit-scrollbar-thumb:hover {

    background-color: #5749d2;

}

 

/* 新语法 */

.section {

    scrollbar-color: #d4aa70 #e4e4e4;

    transition: scrollbar-color 0.3s ease-out;

}

 

.section:hover {

    scrollbar-color: #5749d2;

}

需要时显示滚动条

创建一个可滚动的元素是可以通过给overflow属性添加一个除visible以外的值。建议使用auto关键字,因为它只在内容超过其容器时才会显示滚动条。

6.png

1

2

3

.section {

    overflow-y: auto;

}

可访问性问题

在定制滚动条设计时,请记住在 thumbtrack之间要有良好的对比,这样它就容易被用户注意。

考虑一下下面这个自定义滚动条的 "坏 "例子。

7.png

thumb 的颜色几乎看不出来。这对用户来说不是好事,因为如果他们习惯于通过thumb 滚动,这将增加他们的难度。

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

作者:ishadeed

更多编程相关知识,请访问:编程入门!!

以上就是手把手教你使用CSS自定义好看的滚动条样式!的详细内容,更多文章请关注木庄网络博客

返回前面的内容

相关阅读 >>

css实现动画性能优化

jquery如何使用滚动条监听事件

css外联样式不起作用怎么办

css设置字体粗细的属性是什么

css如何将图片设置为圆形图片

内联css写法是什么

分享一些提高前端开发效率的css 属性选择器!!

css如何设置超链接的样式

外联css怎么写

css实现分页条

更多相关阅读请进入《css》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...