前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >实现一个渐变的滚动条

实现一个渐变的滚动条

作者头像
玖柒的小窝
发布2021-11-28 20:46:29
9550
发布2021-11-28 20:46:29
举报
文章被收录于专栏:各类技术文章~

前言

之前写过一篇scroll-snap让你的滚动条更智能,在那篇文章中,主要介绍了,使用scroll-snap优化滚动,其实这也只是滚动需要优化的一点。其实滚动条才是最需要优化的,因为浏览器的多样性,各个浏览器在滚动条的样式上,也不统一。

当一个网站上线,我们尽可能的需要保证样式的一致性,美化滚动条可以解决这个统一的问题,当然了,你一个绚丽的页面,肯定不想出现丑了吧唧的滚动条吧!

滚动条

包含

滚动条包含下面7个元素:

  • ::-webkit-scrollbar:整个滚动条
  • ::-webkit-scrollbar-button:下下箭头按钮
  • ::-webkit-scrollbar-thumb:滚动滑块
  • ::-webkit-scrollbar-track:滚动条滑轨
  • ::-webkit-scrollbar-track-piece:滚动条没有滑块的轨道部分
  • ::-webkit-scrollbar-corner:横向滚动条与竖向滚动条的交汇处
  • ::-webkit-resizer:类似textarea的可拖动按钮

位置

在日常的使用中,我们经常见到的是右侧+下边滚动条。其实还有一种滚动条是位于左侧。主要是出现在RTL类型的网页中。

因为中文的书写方式是LTR 类型,所以滚动条在右边。

新语法?鸡肋

目前新语法,仅支持 scrollbar-color, scrollbar-width.无法自定义其他内容,个人觉得比较鸡肋。

代码语言:javascript
复制
div {
    scrollbar-color: rebeccapurple green;
    scrollbar-width: thin;
}
复制代码

渐变的滚动条

定义滚动条容器

这里使用两个div。子div主要是用来保证父div可以出现滚动条。

代码语言:javascript
复制
<div class="scrollbar" id="style-7">
    <div class="child"></div>
</div>
    
复制代码

父容器高度小于子元素高度:

代码语言:javascript
复制
   .scrollbar
        {
          height: 300px;
        }
   .child{
  min-height: 450px;
}
复制代码

定义整个滚动条

代码语言:javascript
复制
 .scrollbar::-webkit-scrollbar
{
width: 10px;
background-color: #F5F5F5;
}
        
复制代码

定义滑块渐变

代码语言:javascript
复制
 .scrollbar::-webkit-scrollbar-thumb
        {
        border-radius:10px;
          background-image: -webkit-linear-gradient(90deg, #12c2e9, #c471ed, #f64f59);
        }
复制代码

这里强烈推荐一个渐变色配色网站,可以生成代码:uigradients.com/。

滑轨加点圆角

代码语言:javascript
复制
.scrollbar::-webkit-scrollbar-track
        {
            border-radius: 10px;
           }
复制代码

后记

因为只是为了解决公司的问题,目前对scrollbar,了解不深,后面感觉得深入了解一下。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 滚动条
    • 包含
    • 位置
    • 新语法?鸡肋
    • 渐变的滚动条
      • 定义滚动条容器
        • 定义整个滚动条
          • 定义滑块渐变
            • 滑轨加点圆角
            • 后记
            相关产品与服务
            容器服务
            腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档