百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程网 > 正文

优雅而酷炫的自定义CSS滚动条 css如何设置滚动条样式

yuyutoo 2024-10-12 00:21 13 浏览 0 评论

在本文中,我们将深入了解滚动条的世界。我知道,这听起来不太迷人,但相信我,精心设计的页面与匹配的滚动条齐头并进。老式的镀铬滚动条只是不适合那么多。

我们将研究滚动条的细节,然后看看一些很酷的例子。

滚动条的组成部分


要设置滚动条的样式,您需要熟悉滚动条的解剖结构。请看这张图:

这里要记住的两个主要组成部分是:

  1. scrollbar track是滚动条下方的背景。
  2. scrollbar humb是用户单击和拖动的部分。

我们可以使用供应商前缀::-webkit-scrollbar 选择器更改完整滚动条的属性。我们可以给滚动条一个固定的宽度、背景颜色、圆角......很多事情!如果我们自定义页面的主滚动条,那么我们可以直接在 HTML 元素上使用 ::-webkit-scrollbar:

html::-webkit-scrollbar {
  /* Style away! */
}

如果我们自定义一个滚动框,这是溢出的结果:滚动,那么我们可以在该元素上使用 ::-webkit-scrollbar:

.element::-webkit-scrollbar {
  /* Style away! */
}

下面是一个快速示例,它设置 HTML 元素滚动条的样式,使其宽,背景为红色:

如果我们只想更改滚动条的thumb或track怎么办?你猜对了——我们分别为这两个元素提供了特殊的前缀伪元素:::-webkit-scrollbar-thumb 和 ::-webkit-scrollbar-track。以下是我们将所有这些东西放在一起时可能实现的想法:

向您展示三个度的自定义滚动条样式,然后打开一个从网络上提取示例的大型展示,以获取灵感。

简单而优雅的滚动条

自定义滚动条仍然可以是最小的。我整理了一组示例,这些示例巧妙地改变了外观,无论是对拇指或轨道进行轻微的颜色更改,还是对背景进行一些浅色造型。

如您所见,在滚动条样式方面,我们不必发疯。有时,只需进行细微的更改即可通过与整体主题匹配的滚动条来增强整体用户体验.

html::-webkit-scrollbar{
  width: 50px;
  background:red;
}

如果我们只想更改滚动条的拇指或轨道怎么办?你猜对了——我们分别为这两个元素提供了特殊的前缀伪元素:::-webkit-scrollbar-thumb 和 ::-webkit-scrollbar-track。以下是我们将所有这些东西放在一起时可能实现的想法:

html::-webkit-scrollbar {
  width: 30px;
}
 
html::-webkit-scrollbar-track {
  background: black;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
}
 
html::-webkit-scrollbar-thumb {
  background: red;
  border: 3px solid blue;
}

向您展示三个度的自定义滚动条样式,然后打开一个从网络上提取示例的大型展示,以获取灵感。

简单而优雅的滚动条

自定义滚动条仍然可以是最小的。我整理了一组示例,这些示例巧妙地改变了外观,无论是对拇指或轨道进行轻微的颜色更改,还是对背景进行一些浅色造型。

.container {
            display: flex;
            margin: 50px;
            column-gap: 20px;
        }
        
        .scrollbar {
            height: 300px;
            width: 50%;
            overflow: auto;
            padding: 0 10px;
        }
        /*       ScrollBar 1        */
        
        #scrollbar1::-webkit-scrollbar {
            width: 10px;
        }
        
        #scrollbar1::-webkit-scrollbar-track {
            border-radius: 8px;
            background-color: #e7e7e7;
            border: 1px solid #cacaca;
        }
        
        #scrollbar1::-webkit-scrollbar-thumb {
            border-radius: 8px;
            background-color: #d55959;
        }
        /*       ScrollBar 2        */
        
        #scrollbar2::-webkit-scrollbar {
            width: 12px;
        }
        
        #scrollbar2::-webkit-scrollbar-track {
            border-radius: 8px;
            background-color: #e7e7e7;
            border: 1px solid #cacaca;
            box-shadow: inset 0 0 6px rgba(0, 0, 0, .3);
        }
        
        #scrollbar2::-webkit-scrollbar-thumb {
            border-radius: 8px;
            background-color: #363636;
        }
        /*        ScrollBar 3    */
        
        #scrollbar3::-webkit-scrollbar {
            width: 12px;
        }
        
        #scrollbar3::-webkit-scrollbar-track {
            background-color: #e7e7e7;
            border: 1px solid #cacaca;
        }
        
        #scrollbar3::-webkit-scrollbar-thumb {
            background-color: #060b9a;
        }
        /*        ScrollBar 4    */
        
        #scrollbar4::-webkit-scrollbar {
            width: 12px;
        }
        
        #scrollbar4::-webkit-scrollbar-track {
            background-color: transparent;
            border: 1.5px solid #7e7e7e;
            border-radius: 8px;
        }
        
        #scrollbar4::-webkit-scrollbar-thumb {
            background-color: #f1f1f1;
            border: 2px solid #616161;
            border-radius: 8px;
        }
        /*        ScrollBar 5    */
        
        #scrollbar5::-webkit-scrollbar {
            background-color: #000;
            width: 12px;
            border-radius: 10px;
        }
        
        #scrollbar5::-webkit-scrollbar-track {
            border-radius: 10px;
            box-shadow: inset 0 0 6px rgba(255, 255, 255, 0.3);
        }
        
        #scrollbar5::-webkit-scrollbar-thumb {
            background-image: -webkit-gradient(linear, left bottom, left top, color-stop(.5, #a520ca), color-stop(1, #2681cc));
            border-radius: 10px;
        }
        /*       ScrollBar 6        */
        
        #scrollbar6::-webkit-scrollbar {
            width: 12px;
        }
        
        #scrollbar6::-webkit-scrollbar-track {
            border-radius: 8px;
            background-color: #95a5a6;
            border: 1px solid #cacaca;
        }
        
        #scrollbar6::-webkit-scrollbar-thumb {
            border-radius: 8px;
            background-color: #2c3e50;
        }

如您所见,在滚动条样式方面,我们不必发疯。有时,只需进行细微的更改即可通过与整体主题匹配的滚动条来增强整体用户体验。










相关推荐

.NET 奇葩问题调试经历之3——使用了grpc通讯类库后,内存一直增长......

...

全局和隐式 using 指令详解(全局命令)

1.什么是全局和隐式using?在.NET6及更高版本中,Microsoft引入了...

请停止微服务,做好单体的模块化才是王道:Spring Modulith介绍

1、介绍模块化单体是一种架构风格,代码是根据模块的概念构成的。对于许多组织而言,模块化单体可能是一个很好的选择。它有助于保持一定程度的独立性,这有助于我们在需要的时候轻松过渡到微服务架构。Spri...

ASP.NET程序集引用之痛:版本冲突、依赖地狱等解析与实战

我是一位多年后端经验的工程师,其中前几年用ASP.NET...

.NET AOT 详解(.net 6 aot)

简介AOT(Ahead-Of-TimeCompilation)是一种将代码直接编译为机器码的技术,与传统的...

一款基于Yii2开发的免费商城系统(一款基于yii2开发的免费商城系统是什么)

哈喽,我是老鱼,一名致力于在技术道路上的终身学习者、实践者、分享者!...

asar归档解包(游戏arc文件解包)

要学习Electron逆向,首先要有一个Electron开发的程序的发布的包,这里就以其官方的electron-quick-start作为例子来进行一下逆向的过程。...

在PyCharm 中免费集成Amazon CodeWhisperer

CodeWhisperer是Amazon发布的一款免费的AI编程辅助小工具,可在你的集成开发环境(IDE)中生成实时单行或全函数代码建议,帮助你快速构建软件。简单来说,AmazonCodeWhi...

2014年最优秀JavaScript编辑器大盘点

1.WebstormWebStorm是一种轻量级的、功能强大的IDE,为Node.js复杂的客户端开发和服务器端开发提供完美的解决方案。WebStorm的智能代码编辑器支持JavaScript,...

基于springboot、tio、oauth2.0前端vuede 超轻量级聊天软件分享

项目简介:基于JS的超轻量级聊天软件。前端:vue、iview、electron实现的PC桌面版聊天程序,主要适用于私有云项目内部聊天,企业内部管理通讯等功能,主要通讯协议websocket。支持...

JetBrains Toolbox推出全新产品订阅授权模式

捷克知名软件开发公司JetBrains最为人所熟知的产品是Java编程语言开发撰写时所用的集成开发环境IntelliJIDEA,相信很多开发者都有所了解。而近期自2015年11月2日起,JetBr...

idea最新激活jetbrains-agent.jar包,亲测有效

这里分享一个2019.3.3版本的jetbrains-agent.jar,亲测有效,在网上找了很多都不能使用,终于找到一个可以使用的了,这里分享一下具体激活步骤,此方法适用于Jebrains家所有产品...

CountDownTimer的理解(countdowntomars)

CountDownTimer是android开发常用的计时类,按照注释中的说明使用方法如下:kotlin:object:CountDownTimer(30000,1000){...

反射为什么性能会很慢?(反射时为什么会越来越长)

1.背景前段时间维护一个5、6年前的项目,项目总是在某些功能使用上不尽人意,性能上总是差一些,仔细过了一下代码发现使用了不少封装好的工具类,工具类里面用了好多的反射,反射会影响到执行效率吗?盲猜了一...

btrace 开源!基于 Systrace 高性能 Trace 工具

介绍btrace(又名RheaTrace)是抖音基础技术团队自研的一款高性能AndroidTrace工具,它基于Systrace实现,并针对Systrace不足之处加以改进,核心改进...

取消回复欢迎 发表评论: