伪元素选择器,实现滚动条的极限拉扯【趣学前端】
【摘要】 前言最近翻笔记,看到之前移动端对滚动条问题的处理记录,所以把滚动条相关的知识点重新翻看了一遍。其中滚动条伪元素相关的内容,挺有趣的,感觉组合起来,没准能玩出不错的效果。在开始freestyle,先强调一下,接下来要介绍的知识点,有些是非标准,有些是实验中的功能,所以功能仅供参考,生产环境慎重使用。滚动条滚动条的伪元素选择器还挺多的,所以应该能实现很多好玩的效果。知识点先来看一下滚动条相关的伪...
前言
最近翻笔记,看到之前移动端对滚动条问题的处理记录,所以把滚动条相关的知识点重新翻看了一遍。其中滚动条伪元素相关的内容,挺有趣的,感觉组合起来,没准能玩出不错的效果。
在开始freestyle,先强调一下,接下来要介绍的知识点,有些是非标准,有些是实验中的功能,所以功能仅供参考,生产环境慎重使用。
滚动条
滚动条的伪元素选择器还挺多的,所以应该能实现很多好玩的效果。
知识点
先来看一下滚动条相关的伪元素选择器都有哪些,都是控制什么功能的。
以下知识点来自MDN。
伪元素 |
含义 |
规范 |
::-webkit-scrollbar |
会影响设置了 overflow:scroll; 的元素的滚动条样式。 |
非标准: 该特性是非标准的,请尽量不要在生产环境中使用它! |
::-webkit-scrollbar-button |
滚动条上的按钮(上下箭头)。 |
同上 |
::-webkit-scrollbar-thumb |
滚动条上的滚动滑块。 |
同上 |
::-webkit-scrollbar-track |
滚动条轨道。 |
同上 |
::-webkit-scrollbar-track-piece |
滚动条没有滑块的轨道部分。 |
同上 |
::-webkit-scrollbar-corner |
当同时有垂直滚动条和水平滚动条时交汇的部分。通常是浏览器窗口的右下角。 |
同上 |
::-webkit-resizer |
出现在某些元素底角的可拖动调整大小的滑块。 |
同上 |
组合效果
可以通过滚动条的伪元素选择器,实现不同的展示效果。但是通过分析不难发现,这些伪元素选择器是可以组合起来使用的。
我试验了几个组合效果,如下:
类型 |
效果展示 |
实现方案 |
无滚动条 |
|
无滚动条并不是简单粗暴。一般移动端的页面都会隐藏滚动条,美观且避免影响用户操作。 |
圆角滚动条 |
|
通过设置::-webkit-scrollbar的值,可以修改滚动条的样式 |
异色滚动块 |
|
通过设置::-webkit-scrollbar-thumb的值,可以设置滚动条上的滚动滑块的样式,可以将滚动滑块的颜色和滚动条轨道不一致,进而形成明显区分的效果。 |
补全滚动条交汇 |
|
当同时有垂直滚动条和水平滚动条时交汇的部分。当父容器的背景颜色和滚动条轨道的背景颜色不一致时,会出现一块空缺,这个时候通过设置::-webkit-scrollbar-corner的值,可以调整空缺展示样式 |
条纹滚动条 |
|
设置滚动滑块的背景样式,可以让滚动条呈现出不同效果。比如右图就是一个带三色条纹的滚动条。 |
总结
滚动条的伪元素选择器目前还是非标准特性,正式生产不建议使用。
但是组合实现各种展示效果,还挺有趣的,今天也特别有收获的一天。
CSS样式真有趣,光写样式我感觉自己能写一天。
偶尔翻出来珍藏的技术书,读几章,有了新想法的感觉真不赖。
作者:非职业「传道授业解惑」的开发者叶一一
简介:「趣学前端」、「CSS畅想」系列作者,华夏美食、国漫、古风重度爱好者,刑侦、无限流小说初级玩家。
如果看完文章有所收获,欢迎点赞👍 | 收藏⭐️ | 留言📝。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)