您的位置  > 互联网

CSS中定制滚动条的老方法,你值得拥有!

自定义滚动条设计

自定义滚动条过去是专有的,因此 IE 被排除在游戏之外。 我们有一个新的语法,仅在 中使用,当它得到完全支持时,这将使我们的工作变得更容易。 我们先看一下旧的语法,然后再介绍新的语法。

旧语法

滚动条宽度

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

.::-- {

宽度:10px;

通过此设置,我们可以设置滚动条本身的样式。

滚动条轨道

这代表了滚动条的基础。 我们可以通过添加 , , - 和 来塑造它。

。:: - -追踪 {

-颜色: ;

滚动条拇指

准备好滚动条的基础后,我们需要设置滚动条拇指的样式。 这很重要,因为用户可以拖动该拇指来与滚动条交互。

.::---拇指{

框-:插入 0 0 6px rgba(0, 0, 0, 0.3);

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

新语法

宽度

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

.{

-宽度:薄;

颜色

通过这个属性,我们可以定义滚动条轨道和滑块的值对的颜色。

.{

-颜色: # #;

-宽度:薄;

虽然这个新语法很简单,但它有局限性。 我们只能添加颜色。 我们不能添加 `,,` 或类似的内容,我们只能自定义颜色。

指定自定义滚动条的范围

需要知道的一个重要问题是在哪里自定义滚动条。 您是否希望该样式对网站上的所有滚动条通用且有效? 或者您希望它仅用于特定部分?

使用旧语法,我们可以编写选择器,而无需将它们附加到元素,并且它们将应用于所有可滚动元素。

::-- {

宽度:10px;

:: - -追踪 {

-颜色: ;

::---拇指{

框-:插入 0 0 6px rgba(0, 0, 0, 0.3);

如果您只想应用于特定部分,则需要将该元素附加到选择器之前。

.::-- {

宽度:10px;

。:: - -追踪 {

-颜色: ;

.::---拇指{

框-:插入 0 0 6px rgba(0, 0, 0, 0.3);

使用新语法,几乎是一样的。 我注意到,如果您想要通用样式,则应该将其应用于元素。

html{

-颜色: # #;

-宽度:薄;

我尝试添加上述内容,但它没有按预期工作。

现在我们知道了新旧语法是如何工作的,让我们开始定制一些滚动条设计。

自定义滚动条设计

示例1

在研究自定义滚动条之前,有必要讨论一下 Mac OS 中的默认样式。 它看起来是这样的。

因为,有点不同。

下面是我们根据上面的模拟图自定义滚动条的方法。

.::-- {

宽度:16px;

。:: - -追踪 {

-颜色: #;

-:100 像素;

.::---拇指{

-颜色: #;

-:100 像素;

为轨道和拇指添加 - 是必要的,因为它不适用于 ::-。

在新语法中,我们无法调整滚动条的宽度。 我们唯一能做的就是改变轨道和拇指的背景颜色。

.{

-颜色: # #;

实施例2

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

.::---拇指{

-图像:-(, # 0%, # 99%);

框-:插入 2px 2px 5px 0 rgba(#fff, 0.5);

-:100 像素;

让我自我介绍一下。 我2013年毕业于上海交通大学,曾在小公司和华为、OPPO等大公司工作过。 我于2018年加入阿里巴巴,一直到现在。

我知道,大多数前端工程师想要提高自己的技能,往往必须自己探索和成长,或者报名参加课程。 但培训机构几千的学费确实压力很大。 没有系统的自学效果低效且冗长,很容易触碰天花板,技术停滞不前!

因此,我们收集整理了《2024年Web前端开发全套学习资料》。 初衷也很简单。 希望能够帮助到想要学习、提升自己却又不知道从哪里开始的朋友,同时也减轻大家的负担。

既有适合新手学习的基础教材,也有适合3年以上经验的朋友深入学习和提高的高级课程。 基本涵盖了95%以上的前端开发知识点,真正系统化!

由于文件比较大,这里只是截取部分目录。 每个节点包含各大厂商访谈、学习笔记、源码讲义、实战项目、讲解视频,并将持续更新!

如果您觉得本内容对您有帮助,可以扫码获取! ! (注:前端)

完整版面试题资料免费分享。 你只需要喜欢并支持它。 您可以用手指点击此处免费获取它。

前端实习面试套路

审查项目

通常在面试过程中,面试官会根据你简历中的项目开始问答,所以请回顾并反思你曾经做过的最好的项目。 回顾一下你做过的工作和项目中最复杂的部分,并反思你是如何完成这个最复杂的部分的。

面试官会重点问你如何实现最复杂的部分以及如何优化它们。 关键是要思考如何优化。 即使项目的这一部分没有优化,您也应该提前考虑任何优化计划。 如果这部分你回答得好,会给面试官留下很好的印象。

专注于基础知识

这里的基础知识包括:前端基础知识和学科基础知识。

前端基础知识:html/css/js的核心知识,其中js的核心知识尤为重要。 例如,执行上下文、变量对象/活动对象(VO/AO)、作用域链、this指针、原型链等。

学科基础知识:数据结构、计算机网络、算法等知识。 你可能认为前端不需要算法,但你可能错了。 在大公司面试时,面试官也会看重学生对这些学科的基础知识。

大家可能注意到了,我没有提到React/Vue等框架的知识。 这里不得不说,大公司不会太关注这个框架的知识。 他们往往更注重学生的基础。

我的建议是,最好使用或掌握这些框架中的至少一个。 可以温习一下相关框架的面试题,这样即使面试时被问到,你也能回答7788。如果你从来没有使用过框架,也不必太担心。 注重基础知识和基础学科知识。 如果还有剩余精力,可以看看主流框架的核心思想。

专注于基础知识

这里的基础知识包括:前端基础知识和学科基础知识。

前端基础知识:html/css/js的核心知识,其中js的核心知识尤为重要。 例如,执行上下文、变量对象/活动对象(VO/AO)、作用域链、this指针、原型链等。

学科基础知识:数据结构、计算机网络、算法等知识。 你可能认为前端不需要算法,但你可能错了。 在大公司面试时,面试官也会看重学生对这些科目的基础知识。

大家可能注意到了,我没有提到React/Vue等框架的知识。 这里不得不说,大公司不会太重视这个框架的知识。 他们往往更注重学生的基础。

我的建议是,最好使用或掌握这些框架中的至少一个。 可以温习一下相关框架的面试题,这样即使面试时被问到,你也能回答7788。如果你从来没有使用过框架,也不必太担心。 注重基础知识和基础学科知识。 如果还有剩余精力,可以看看主流框架的核心思想。