滚动条宽度怎么设置(学会使用 CSS 自定义滚动条,能让你做的产品更有用户体验)

自定义滚动条现在越来越流行,很值得研究一翻。为什么需要自定义滚动?浏览器的默认的滚动条让UI在多个操作系统中看起来不一致,使用定义滚动我们可以统一风格。我一直对如何在CSS中定制滚动条很感兴趣,但一直没有机会这样做。今天,我就记录一下自己的学习过程。简介首先需要介绍一下滚动条的组成…

自定义滚动条现在越来越流行,很值得研究一翻。为什么需要自定义滚动?浏览器的默认的滚动条让UI在多个操作系统中看起来不一致,使用定义滚动我们可以统一风格。

我一直对如何在CSS中定制滚动条很感兴趣,但一直没有机会这样做。今天,我就记录一下自己的学习过程。

简介

首先需要介绍一下滚动条的组成部分。滚动条包含 trackthumb,如下图所示:

track是滚动条的基础,其中的 thumb是用户拖动支页面或章节内的滚动。

还有一件重要的事情要记住,滚动条可以水平或垂直地工作,这取决于设计。另外,在一个多语言网站上工作时,这一点也会发生变化,该网站在从左到右(LTR)和从右到左(RTL)两个方向上工作。

自定义滚动条设计

拥有一个自定义的滚动条曾经是webkit的专利,所以Firefox和IE被排除在游戏之外。我们有一种新的语法,只在Firefox中使用,当它被完全支持时,将使我们的工作更容易。我们先看一下旧的Webkit语法,然后再介绍新的语法。

旧的语法

滚动条的宽度

首先,我们需要定义滚动条的大小。这可以是垂直滚动条的宽度,也可以是水平滚动条的高度

.section::-webkit-scrollbar {
    width10px;
}

有了这一设置,我们就可以设置滚动条本身的样式。

滚动条 track

这代表了滚动条的基础。我们可以通过添加backgroundshadowsborder-radiusborder来对它进行造型。

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

滚动条 thumb

准备好了滚动条的基础后,我们就需要对滚动条的thumb进行样式设计。这很重要,因为用户可能会拖动这个thumb与滚动条进行交互。

.section::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 6px rgba(0000.3);
}

至此,我们已经介绍了CSS中定制滚动条的老方法。让我们探索一下新的语法。

新语法

Scrollbar Width

正如它所说的,这定义了滚动条的宽度,有两个值autothin。不好的地方就是,我们不能像webkit的语法那样定义一个具体的数字。

.section {
  scrollbar-width: thin;
}

Scrollbar Color

有了这个属性,我们可以为滚动条 trackthumb定义成对值的颜色。

.section {
    scrollbar-color#6969dd #e0e0e0;
    scrollbar-width: thin;
}

尽管这个新语法很简单,但它是有限制的。我们只能添加颜色。我们不能添加shadows“、gradientsrounded`,或任何类似的东西,我们被允许定制的只是颜色。

指定自定义滚动条的范围

要知道的一个重要问题是,在哪里定制滚动条。你希望样式是通用的,对网站上的所有滚动条都有效吗?还是你只想让它用于特定的部分?

使用旧的语法,我们可以编写选择器,而不必将它们附加到元素上,它们将应用于所有可滚动的元素。

::-webkit-scrollbar {
    width10px;
}

::-webkit-scrollbar-track {
    background-color: darkgrey;
}

::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 6px rgba(0000.3);
}

如果你想只适用于一个特定的部分,你需要在选择器之前附加元素。

.section::-webkit-scrollbar {
    width10px;
}

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

.section::-webkit-scrollbar-thumb {
    box-shadow: inset 0 0 6px rgba(0000.3);
}

对于新的语法,它几乎是一样的。我注意到的是,如果你想要一个通用的样式,它应该被应用于<html>元素,而不是<body>

html {
    scrollbar-color#6969dd #e0e0e0;
    scrollbar-width: thin;
}

我尝试为<body>添加上面的内容,但它没有像预期的那样工作。

现在我们知道了新旧语法的工作原理,接着,我们开始定制一些滚动条设计。

自定义滚动条设计

例1

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

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

对于Windows,它有点不同。

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

.section::-webkit-scrollbar {
    width16px;
}
 
.section::-webkit-scrollbar-track {
    background-color#e4e4e4;
    border-radius100px;
}
 
.section::-webkit-scrollbar-thumb {
    background-color#d4aa70;
    border-radius100px;
}

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

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

.section {
    scrollbar-color#D4AA70 #e4e4e4;
}

例2

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

.section::-webkit-scrollbar-thumb {
    background-imagelinear-gradient(180deg, #D0368A 0%, #708AD4 99%);
    box-shadow: inset 2px 2px 5px 0 rgba(#fff, 0.5);
    border-radius100px;
}

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

例3

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

.section::-webkit-scrollbar-thumb {
    border-radius100px;
    background#8070D4;
    border6px solid rgba(0,0,0,0.2);
}

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

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

可以添加悬停效果吗?

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

/* 旧语法 */
.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关键字,因为它只在内容超过其容器时才会显示滚动条。

.section {
    overflow-y: auto;
}

可访问性问题

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

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

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

版权声明:本文内容由网友提供,该文观点仅代表作者本人。本站(http://www.cangchou.com/)仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 3933150@qq.com 举报,一经查实,本站将立刻删除。

版权声明:本文内容由作者小仓提供,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至907991599@qq.com 举报,一经查实,本站将立刻删除。如若转载,请注明出处:http://www.cangchou.com/173585.html

(0)
小仓的头像小仓

相关推荐

  • 2022夏天流行什么颜色头发,2022夏天流行什么颜色头发好看

      2022夏天流行什么颜色头发,2022夏天流行什么颜色头发好看在我们平时的日常生活中有很多人都很喜欢染头发,染发的颜色有很多种,夏天可以染的颜色有很多,那么2022夏天流行什么颜色头发?夏天染这些颜色的头发好看的。  关于2022夏天流行什么颜色头发,2022夏天流行什么颜色头发好看以及20…

    网络快讯 2023年11月24日
    0
  • 帝王蟹怎么做好吃(帝王蟹的做法和吃法?)

    最好吃的帝王蟹的做法?帝王蟹、葱根、姜片、鸡蛋、活帝王蟹清洗干净。从肚脐上切下丝状腺体(类似于蟹黄),把螃蟹分成蟹壳、蟹大腿、蟹小腿、蟹关节、蟹身五部分,切掉半个壳,这样吃起来就方便了。蒸大腿,黄油烤小牛,蟹壳蒸鸡蛋,葱姜炒蟹身,蟹关节蒜蓉蒸粉条,蒜蓉蒸粉条:粉条泡软底,蟹关…

    2023年10月19日
    0
  • 浅谈磨砂膏的作用和注意事项(磨砂膏是什么)

    磨砂膏是生活中常见的清洁用品,有好多人不太清楚磨砂膏的作用是什么甚至不清楚磨砂膏是什么,下面让我们一起了解下关于磨砂膏是什么的问题吧。1.磨砂膏是什么磨砂膏是指含有均匀细颗粒的乳化清洁产品。它主要用于去除皮肤深层污垢。通过在皮肤上摩擦,它可以去除老化的鳞状角蛋白并去除死皮。2.磨砂膏…

    网络快讯 2023年12月13日
    0
  • 李白为什么杀了孟浩然(无根据的虚构)

    李白为什么杀了孟浩然(无根据的虚构)根据我所了解的历史和文学资料,没有任何证据表明李白曾经试图杀害孟浩然,或者存在这种情况。李白和孟浩然都是唐代著名的诗人,被后人称为“诗仙”和“诗圣”,两人在文学创作上有很高的地位,也保持了友好的交往。李白和孟浩然之间的关系通常被描述为友好和互相尊重。他们都…

    网络快讯 2023年12月5日
    0
  • 桑榆之年是多少岁(桑榆指老年)

    桑榆之年是多少岁(桑榆指老年)桑榆指老年,目前没有具体指多大年龄。1.中国文化十分悠远且富有独特韵味,比如50多岁的年龄来说,我们又称之为知命之年、桑榆之年、白首之年等等。而之所以将所有老年人都称之为桑榆之年,那是因为桑树和榆树都是种在西面的,所以日落的时候夕阳余光会照在桑树和榆树上,所以桑榆代指…

    2023年11月2日
    0
  • 忽必烈和成吉思汗的关系(忽必烈和成吉思汗是爷孙关系)

    忽必烈和成吉思汗的关系(忽必烈和成吉思汗是爷孙关系)点击输入图片描述(最多30字)中国是一个有着五千多年历史的国家,在漫漫的历史长河中,有过无数个朝代。很多人都很好奇忽必烈和成吉思汗的关系是什么呢?其实忽必烈和成吉思汗是爷孙关系,成吉思汗是忽必烈的爷爷。成吉思汗当年能勇善战,为后来忽必烈成…

    网络快讯 2023年12月3日
    0
  • 小白投资理财建议 网上理财培训课靠谱吗

    现在网上有各种理财培训课,看似价格便宜,但实际上后续就会让你消费,不少人就被割了韭菜,那么,网上理财培训课靠谱吗?有哪些投资理财建议?下面小编就带来介绍。网上理财培训课靠谱吗如今,理财培训机构通常会先以“1元学理财”“12元小白理财课”等噱头吸引消费者,之后再让消费者购买名不副实的高价进阶课…

    网络快讯 2023年12月16日
    0
  • 更改适配器设置选项是空的 wifi蓝色怎么解决?

    wifi蓝色怎么解决?1.首先,让我们让我们看看电脑或笔记本是否关闭了无线网络或WiFi功能。一个是系统或软件提供的无线网络和WiFi的开关设置,一个是电脑或笔记本本身的硬件开关。解决方法:再次打开这种开关;2,然后确认无线网络是否需要输入密码,密码是否正确。如果你不如果您不知道…

    网络快讯 2023年11月21日
    0
  • 牛仔衣服脏了究竟该如何清洗?这几招得知道

    1.清洗衣物时放白醋呦!清洗牛仔衣物的时候,想要解决掉色的问题,并且想要长久的保持它原本的光泽,小编建议大家在清洗牛仔材质衣物时,可以直接在水里面放一些白醋,尤其是第一次清洗这个步骤就尤为关键。之后将衣物浸泡在水中,再洗牛仔材质衣物的时候,牛仔就不容易掉色了。2.切记不要用热…

    网络快讯 2023年11月14日
    0
  • 常吃苏打饼干真的可以养胃吗 想要养胃应该吃什么

    胃病是困扰很多人的难题,经常胃痛更是非常折磨人,为了养胃大家会买一些苏打饼干来吃,那么常吃苏打饼干真的可以养胃吗?下面小编带来:蚂蚁庄园小课堂6月27日答案。常吃苏打饼干真的可以养胃吗正确答案:不可以。解析:虽然苏打饼干能起到中和胃酸的作用,但是这种作用是有限的,还达不到养胃的程度。而且…

    网络快讯 2023年12月15日
    0

发表回复

登录后才能评论