专业IT网络知识平台,分享IT百科知识、生活百科知识解答!

易企推科技
易企推科技

html滚动条设置,html滚动条代码

来源:小易整编  作者:小易  发布时间:2023-02-21 04:53
摘要:html滚动条设置,html滚动条代码。从下面这个基础的原生滚动条开始,带领大家一步步认识上面的各种伪元素:上面矩形滚动区域的HTML结构为: 初始CSS样式为:.container margin-top: 50px...

-webkit-scrollbar-track 伪元素

::-webkit-scrollbar-track表示滚动条的外层轨道,我们先给它增加以下 CSS 代码看看效果:

.rect::-webkit-scrollbar-track {
  background-color: blue;
  border: 5px solid orange;
  margin: 30px;
}

这里特地增加了 margin 外边距把 scrollbar 本身的背景色给透出来方便大家观察其位置:

html滚动条设置,html滚动条代码

上面的蓝色背景橙色边框区域就是外层轨道的,需要注意的是,这里无法单独对其设置 width 或 height 样式,它的宽高始终和 -webkit-scrollbar的宽高保持一致。既然是外层轨道,说明存在内层轨道,我们继续往下看:

-webkit-scrollbar-track-piece 伪元素

::-webkit-scrollbar-track-piece是滚动条的内层轨道,这个就有点意思了,为了看起来更有辨识度,我们用颜色区分出来:

.rect::-webkit-scrollbar-track-piece {
  background-color: green;
  border: 5px solid purple;
  margin: 30px;
}

细心的你可能已经发现了,这次的样式非常奇怪,因为中间有一道杠:

html滚动条设置,html滚动条代码

这是因为内层轨道其实是有两部分组成的,垂直滚动条的内层轨道被分为上下部分,水平滚动条的内层轨道被分为左右两部分,而每一部分都可以用 start或 end伪类来控制,例如设置不同的背景色:

/* 控制滚动区域的上/左半部分 */
.rect::-webkit-scrollbar-track-piece:start {
  background-color: yellowgreen;
}
/* 控制滚动区域的下/右半部分 */
.rect::-webkit-scrollbar-track-piece:end {
  background-color: greenyellow;
}

通过设置背景色区分,可以看到更明显的看到上下/左右两部分的范围了:

html滚动条设置,html滚动条代码

-webkit-scrollbar-thumb 伪元素

::-webkit-scrollbar-thumb才是滚动条的滑块,也就是可拖动的部分,我们用下面的 CSS 把它展现出来:

.rect::-webkit-scrollbar-thumb {
  background-color: rgba(128, 0, 128, 0.5);
  border-radius: 30px;
}

可以看到滚动滑块的中间恰好是内层轨道上下/左右两部分的交界处:

html滚动条设置,html滚动条代码

这里有一点需要特别注意,很多人想通过 width 来修改垂直滑块的宽度,或者通过 height 来修改水平滑块的高度,其实都是不可行的,因为它的宽高永远和 -webkit-scrollbar保持一致,那怎样从视觉上让其变得更窄一点呢?这里要用到 background-clip这个 CSS 属性:

background-clip 用于设置元素的背景(包括背景颜色或背景图片)是否延伸到边框、内边距盒子和内容盒子下面。

它可以有以下取值:

  • background-clip: border-box:背景延伸至 border 外沿
  • background-clip: padding-box:背景延伸至 padding 外沿
  • background-clip: content-box:背景延伸至 content 外沿
  • background-clip: text:背景剪裁成文字的前景色

我们给滚动滑块设置边框透明和背景范围:

.rect::-webkit-scrollbar-thumb {
  background-color: rgba(128, 0, 128, 0.5);
  border-radius: 30px;
  border: 15px solid transparent; /* 设置边距透明 */
  background-clip: padding-box; /* 设置背景范围 */
}



本文地址:IT百科频道 https://www.hkm168.com/tags/903190_2.html,易企推百科一个免费的知识分享平台,本站部分文章来网络分享,本着互联网分享的精神,如有涉及到您的权益,请联系我们删除,谢谢!


IT百科
小编:小易整编
相关文章相关阅读
  • win7升级错误代码80072efe该怎么办win7升级错误代码80072efe解决...

    win7升级错误代码80072efe该怎么办win7升级错误代码80072efe解决方案

    win7客户在系统更新的过程中遇到了80072efe的报错,像这种状况要怎么办呢?你先清查网络问题,然后去微软官网下载代理,假如你用的是32位计算机就免费下载32位代理,安装下载完成后马上重启。假如再次出现升级不正确得话,你也就再去官方网站...

  • 修复:在 Xbox 应用上的 Halo Infinite(Campaign)安装错误...

    修复:在 Xbox 应用上的 Halo Infinite(Campaign)安装错误代码 0X80070032、0X80070424 或 0X80070005

    haloinfinite(campaign)是一款第一人称射击视频游戏,于2021年11月推出,可供单人和多用户使用。该游戏是halo系列的延续,适用于windows、xboxone和xbox系列的用户x|s。最近...

  • git怎么合并分支代码

    git怎么合并分支代码

    git合并分支代码的方法:1、使用“gitmerge”命令,该命令用来做分支合并,可以将其他分支中的内容合并到当前分支中。2、使用“gitrebase”命令,该命令用于改变当前的分支的基点,进而实现分支合并。本教程操作环境:Window...

  • html中浮动是什么

    html中浮动是什么

    在html中,浮动就是让元素可以向左或向右移动,直到它的外边距碰到其父级的内边距或者是上一个元素的外边距,只需要给元素设置“float:left|right|none|inherit”样式即可。本教程操作环境:windows7系统、CSS3...

  • html如何解析%%

    html如何解析%%

    html是一种用于创建网页结构的标记语言,它提供了一种方式来标记文本、图像、链接以及其他与网站相关的内容。html可以在网页中插入各种元素,包括表格、列表、图像、表格等等。本文将讨论html的解析过程以及如何编写有效的html代码。HTML...

  • html embed标签怎么用

    html embed标签怎么用

    HTMLembed标签使用方法和属性详解一、基本语法代码如下:embedsrc=url说明:embed可以用来插入各种多媒体,格式可以是Midi、Wav、AIFF、AU、MP3等等,Netscape及新版的IE都支持。url为音频或...

  • HTML5中nav是什么意思

    HTML5中nav是什么意思

    在html5中,nav全称“navigation”,中文意思为“导航”,是一个导航标签,用于表示html页面中的导航;nav标签会定义一个含有导航链接的区域,语法“链接...”。本教程操作环境:windows7系统、HTML5版、Dell...

  • html中什么是伪类

    html中什么是伪类

    在html中,伪类是一种用于已有元素处于某种状态时(滑动、点击等)为其添加对应样式的选择器,且这个状态是根据用户行为而动态变化的。常用伪类有“:active”、“:hover”、“:link”、“:root”、“:valid”等等。本教程操...

  • 周排行
  • 月排行
  • 年排行

精彩推荐