自定义滚动条设计
自定义滚动条过去是专有的,因此 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。如果你从来没有使用过框架,也不必太担心。 注重基础知识和基础学科知识。 如果还有剩余精力,可以看看主流框架的核心思想。