1.首先新建html文档,进入代码书写界面。
2.在</head>和<body>的里面写入代码,在<div>里面写入想要输入的内容</div>。
3.书写外层轨道css代码。body::-webkit-scrollbar { width:20pxheight:2pxbackground:#cccborder-radius:10px/*外层轨道*/}
这里主要是设置外层轨道的形状和颜色。
4.书写内层轨道css代码。body::-webkit-scrollbar-thumb{ display:blockwidth:6pxmargin:0 autoborder-radius: 10pxbackground:red/*内层轨道*/}
这里主要是设置内层轨道的形状和颜色。
5.代码工作做完后,就可以查看效果,效果如下红框所示,滚动条设置完成。
在开发过程中会经常遇到列表过多,然后需要滚动显示的需求,然而浏览器自带的滚动条样式往往与项目整体界面风格不搭,并且还可能有点丑,就需要去调整他的样式。
目前我使用过两种方法:
1、隐藏滚动条,或者控制滚动条宽度。 目前各个浏览器没有统一的样式处理,需要针对浏览器分别设置。
(1)chrome或safari:
node::-webkit-scrollbars { width: 0// display:none}
(2)firefox
node { scrollbar-width:none}
(3)IE
node { -ms-overflow-style:none}
2、修改滚动块,滚动槽的样式。 目前只了解到chrome的样式修改
(1)chrome
node::-webkit-scrollbar-track {} //修改滚动槽的样式
node::-webkit-scrollbar-thumb {} //修改滚动块的样式
因为平时工作都是运用的react框架开发,所以经过我的一番呕心沥血的查找,发现了这个贼好用的插件!
安装: npm i react-custom-scrollbars
导入: import Scrollbars from "react-custom-scrollbars"
可配置项:
class CustomScrollbars extends Component {
render() {
return (
<Scrollbars
onScroll={this.handleScroll} //滚动监听函数
onScrollFrame={this.handleScrollFrame}
onScrollStart={this.handleScrollStart} //滚动开始时执行的函数
onScrollStop={this.handleScrollStop} //滚动结束时执行的函数
onUpdate={this.handleUpdate}
renderView={this.renderView}
//自定义水平滚动槽样式
renderTrackHorizontal={(props)=><div className="my-style" {...props}></div>}
//自定义垂直滚动槽样式
renderTrackVertical={(props)=><div className="my-style" {...props}></div>}
//自定义水平滚动块样式
renderThumbHorizontal={(props)=><div className="my-style" {...props}></div>}
// 自定义垂直滚动块样式
renderThumbVertical={(props)=><div className="my-style" {...props}></div>}
autoHide //鼠标移除自动隐藏
autoHideTimeout={1000} //设置隐藏的延迟执行时间
autoHideDuration={200} //设置隐藏动画的持续时间
autoHeight //根据所包含的节点自动调整高度
autoHeightMin={0} //自动调整的最小高度
autoHeightMax={200} //自动调整的最大高度,超过则滚动显示
thumbMinSize={30} //滚动块的最小高度(默认自适应)
universal={true}
{...this.props}>
...需要滚动显示的dom树
</Scrollbars>
)
}
}
.rules-bar .el-card__body::-webkit-scrollbar{ //先改变body的滚动条宽度width: 8px
}
.rules-bar .el-card__body::-webkit-scrollbar-track{//再改变body的滚动条轨道颜色
background: rgb(200, 200, 200)
border-radius: 5px
}
.rules-bar .el-card__body::-webkit-scrollbar-thumb{//最后改变body的滚动条滑轨相关的样式
background: rgb(120, 120, 120)
border-radius: 5px
}
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)