使用CSS自定义浏览器滚动条样式 (webkit 已最新支持 scrollbar-width)

这篇具有很好参考价值的文章主要介绍了使用CSS自定义浏览器滚动条样式 (webkit 已最新支持 scrollbar-width)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1. 自定义浏览器滚动条CSS样式

浏览器默认的滚动条样式简单醒目,而且不同的浏览器下滚动条的样式也不一样,为了美观和统一必须修改滚动条的样式。

从滚动条效率和兼容性上选择,可以直接在默认滚动条的基础上进行样式修改。现已有更多相关详细设置的文章、本标题内容仅作概述及引用 不再赘述,如对本标题内容已有了解可直接跳转标题2“webkit更新支持”至本文正文

基于 WebKit

MDN文档:::-webkit-scrollbar

::-webkit-scrollbar 仅在基于 Blink 或 WebKit 的浏览器(例如 Chrome、Edge、Opera、Safari、iOS 上所有的浏览器,以及其他基于 WebKit 的浏览器)上可用。

使用以下伪元素选择器去修改基于 webkit 的浏览器的滚动条样式:

::-webkit-scrollbar				/* 整个滚动条 */
::-webkit-scrollbar-thumb		/* 滚动条上的滚动滑块 */
::-webkit-scrollbar-button		/* 滚动条上的两端按钮(上下箭头)*/
::-webkit-scrollbar-track		/* 滚动条轨道 */
::-webkit-scrollbar-track-piece	/* 滚动条没有滑块的轨道部分 */
::-webkit-scrollbar-corner		/* 右下角滚动条交汇处的拖动块(仅在同时有垂直和水平滚动条时)*/
::-webkit-resizer				/* 右下角可拖动调整大小的滑块 */

Firefox

MDN文档:scrollbar-width、scrollbar-color

火狐浏览器目前只提供了部分自定义滚动条的属性:

//定义滚动条的预定义宽度
scrollbar-width: auto;          /* 默认值 */
scrollbar-width: thin;          /* 比默认宽度更窄 */
scrollbar-width: none;          /* 不显示滚动条,但是依然可以滚动 */

//定义滚动条的颜色
scrollbar-color: auto;          /* 默认值 */
scrollbar-color: dark | light;  /* 显示深色或浅色滚动条,但并未实现 */
scrollbar-color: red green;     /* 第一个滚动滑块颜色,第二个滚动条轨道颜色 */

详细设置参考文章:

浏览器滚动条css样式设置(附示例)

自定义浏览器滚动条样式(兼容chrome和firefox)



2. 自定义CSS样式-webkit更新支持

关于定义浏览器滚动条的CSS方法有两种:

  1. CSS选择器:-webkit-scrollbar 等 (以webkit内核为主的 Chrome等主流浏览器)
  2. CSS属性:scrollbar-widthscrollbar-color (moz内核的 Firefox火狐浏览器)

查询支持:Can I use scrollbar

对比前提

  1. moz内核的 Firefox火狐浏览器 专用"scrollbar-width/color"属性,不支持"-webkit-scrollbar"选择器
  2. 以webkit内核为主的 Chrome等主流浏览器 专用"-webkit-scrollbar"选择器,不支持"scrollbar-width/color"属性

更新变化 (Chrome为例)

最近更新开始支持 “scrollbar-width/color” 属性 (2024-01-23,Chrome 121及以上版本)

scrollbar-width,CSS模块,css,webkit,前端,css3,html,chrome,firefox

  1. Chrome 121版本之前,CSS属性可混用moz样式,实现同一定义下 webkit和moz的两种显示效果

    scrollbar-width,CSS模块,css,webkit,前端,css3,html,chrome,firefox

  2. Chrome 121版本之后,CSS属性混用moz样式时,同一定义二选一 优先使用了 moz的显示效果

    • scrollbar-width 显示为原生滚动条的缩小版

    • scrollbar-color 仅显示滚动条滑块和轨道颜色,如需适配暗色主题必须此项,但相比Firefox 无"hover"和"active"交互变化!

      scrollbar-width,CSS模块,css,webkit,前端,css3,html,chrome,firefox

    • 浏览器更新支持有 Chrome 121、Edge 121,未来不确定 Safari、Opera 等浏览器是否也将支持

使用自定义

为保留自定义滚动条效果、不可同时混用 scrollbar-width/color 属性!为兼容Firefox火狐浏览器还需另加CSS设置:文章来源地址https://www.toymoban.com/news/detail-829918.html

/* moz样式分隔补加 */
html.moz-scrollbar{
	scrollbar-width: thin;
	scrollbar-color: rgb(255,150,150) rgb(255,225,225);
}
// kernel: moz
if (typeof document.mozFullScreen !== "undefined") {
    document.body.parentNode.classList.add("moz-scrollbar");
}

到了这里,关于使用CSS自定义浏览器滚动条样式 (webkit 已最新支持 scrollbar-width)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 前端实现浏览器自定义滚动条

    最近有个项目,产品觉得浏览器默认滚动条太丑了。想美化一下,比如自定义颜色,加上圆角,宽高都要更改一下。我查了资料和文档总结了一下 写法,特此记录以便之后使用。 scrollbar-width scrollbar-width 属性允许开发者在元素显示滚动条时设置滚动条的最大宽度。 语法: 取值

    2024年04月10日
    浏览(33)
  • 浏览器---reset.css浏览器默认样式表重置(user agent stylesheet)

    当你在浏览器控制台查看对应元素的样式的时候,会发现一些样式标有(user agent stylesheet),同时不能修改,那就表明该样式是浏览器自身对元素的设置样式,即浏览器默认样式表; 当然不同浏览器之间的默认样式会有出入,同时相同浏览器的不同版本之间也会有细微差别!!!

    2024年02月08日
    浏览(49)
  • CSS:浏览器设置placeholder样式 / 微信小程序设置placeholder样式

    一、web 设置placeholder 设置浏览器的placeholder样式 二、微信小程序设置placeholder 在小程序中设置placeholder样式需要使用组件的内置属性。可以通过以下方式设置input和textarea的placeholder样式: 在上面的示例中,placeholder-style属性被设置为一个字符串,包含了CSS样式。在这个字符串

    2024年02月04日
    浏览(49)
  • webkit浏览器内核编译

    WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox 等使用),Trident(也称MSHTML,IE 使用)和EdgeHTML(也称Chakra,Edge和其他UWP浏览器使用)。 同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。WebKit

    2024年04月23日
    浏览(28)
  • 前端浏览器滚动条炫酷美化

    🌏 博客首页: 春波petal 📑 文章摘要: 前端   浏览器滚动条美化 💌 春波寄语: 故木秀于林,风必摧之;堆出于岸,流必湍之;行高于人,众必非之。 废话不多说,直接copy代码使用 本篇博客文章模板唯一版权归属 ©春波petal

    2024年02月02日
    浏览(45)
  • js获取元素到可视区的距离/浏览器窗口滚动距离/元素距离浏览器顶部距离

    1. js获取元素距离可视区的各种距离 2. js获取浏览器窗口滚动距离 3. js获取元素实际距离页面距离(包括滚动距离) (1).如果父辈元素中有定位的元素,那么就返回距离当前元素最近的定位元素边缘的距离。 (2).如果父辈元素中没有定位元素,那么就返回相对于body边缘距

    2024年02月12日
    浏览(36)
  • Selenium基础 — Selenium操作浏览器窗口滚动条

    1、为什么操作滚动条 在HTML页面中,由于前端技术框架的原因,页面中的一些元素为动态显示,元素根据滚动条的下拉而被加载。 例如:页面注册同意条款,需要滚动条到最底层,才能点击同意。 2、Selenium如何操作滚动条 Selenium的WebDriver类库中并没有直接提供对滚动条进行操

    2024年02月02日
    浏览(33)
  • 每天bug---1、el-table 行加样式类名(row-class-name)生效了,但是效果检测不到;2、解决VUE项目在微信浏览器中使用支付宝支付提示复制链接到浏览器打开

    一、el-table 行加样式类名(row-class-name)生效了,但是效果检测不到 1、问题 2、解决 关闭浏览器,重启程序 二、解决VUE项目在微信浏览器中使用支付宝支付提示复制链接到浏览器打开 1、问题:在微信浏览器中访问支付宝支付接口 分析及解决:访问支付宝接口会返回一个f

    2024年02月13日
    浏览(37)
  • Django项目页面样式如何“传给”客户端浏览器

    django项目在视图函数中借助 render 函数可以返回HTML页面,但是HTML页面中如果引入了外部CSS文件或者JavaScript文件在浏览器页面无法加载,因此就必须有一种方式能够将HTML文档中引入的外部文件能够在客户端浏览器上加载,这种方式就是配置静态文件。 静态文件就是前端已经写

    2024年02月02日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包