浏览器滚动条样式设置

浏览器滚动条样式设置,第1张

在开发过程中会经常遇到列表过多,然后需要滚动显示的需求,然而浏览器自带的滚动条样式往往与项目整体界面风格不搭,并且还可能有点丑,就需要去调整他的样式。

目前我使用过两种方法:

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>

    )

  }

}

方法1:代码:html

{

overflow-y:

scroll

}

原理:强制显示ie的垂直滚动条,而忽略水平滚动条优点:完全解决了这个问题,

允许你保持完整的XHTML

doctype.

缺点:即使页面不需要垂直滚动条的时候也会出现垂直滚动条。方法2:代码:html

{

overflow-x:

hidden

overflow-y:

auto

}

原理:隐藏横向滚动,垂直滚动根据内容自适应优点:在视觉上解决了这个问题.在不必要的时候,

未强制垂直滚动条出现.缺点:只是隐藏了水平滚动条,如果页面真正需要水平滚动条的时候,屏幕以外的内容会因为用户无法水平滚动,而看不到。方法3:代码:body

{

margin-right:

-15px

margin-bottom:

-15px

}

原理:这会在margin的水平和垂直方向上添加一个负值,

IE添加了该精确数值后,

便会去除对滚动条的需求假象.优点:在视觉上解决了这个问题.,垂直滚动根据内容自适应缺点:由于"人为创建"了15px的外边距(margin),

所以无法使用该填充过的屏幕区域.


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6857339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-29
下一篇 2023-03-29

发表评论

登录后才能评论

评论列表(0条)

保存