css如何实现滚动条隐藏但鼠标仍然可以滚动

ErduYang      2022-02-08     609

关键词:

  在做移动端项目的时候,有些时候需要元素超出屏幕可以滚动,为了美观需要隐藏滚动条。如果只需兼容chrome和safari,可以使用自定义滚动条的伪对象选择器——::webkit-scrollbar。

  具体使用即: element::webkit-scrollbar{display:none} 或者 element::webkit-scrollbar{width:0!important}

  那要在pc端实现同样的功能怎么办呢?参考 Hiding Vertical Scrollbars with Pure CSS in Chrome, IE (6+), Firefox, Opera, and Safari实现如下:

     html

<div class="outer-container">
 <div class="inner-container">
 <div class="content">
 Lorem ipsum dolor sit amet, consectetur adipiscing elit.
 Integer vehicula quam nibh, eu tristique tellus dignissim
 quis. Integer condimentum ultrices elit ut mattis.
 Praesent rhoncus tortor metus, nec pellentesque enim
 mattis nec. Nulla vitae turpis ut dui consectetur
 pellentesque quis vel est. Curabitur rutrum, mauris ut
 mollis lobortis, sem est congue lectus, ut sodales nunc
 leo a libero. Cras quis sapien in mi fringilla tempus
 condimentum quis velit. Aliquam id aliquam arcu. Morbi
 tristique aliquam rutrum. Duis tincidunt, orci suscipit
 cursus molestie, purus nisi pharetra dui, tempor
 dignissim felis turpis in mi. Vivamus ullamcorper arcu
 sit amet mauris egestas egestas. Vestibulum turpis neque,
 condimentum a tincidunt quis, molestie vel justo. Sed
 molestie nunc dapibus arcu feugiat, ut sollicitudin metus
 sagittis. Aliquam a volutpat sem. Quisque id magna
 ultrices, lobortis dui eget, pretium libero. Curabitur
 aliquam in ante eu ultricies.
 
 Quisque vitae tincidunt purus. Vivamus feugiat bibendum
 erat, nec interdum urna porta sed. Nunc lobortis neque
 orci, ut suscipit nisl congue feugiat. Vivamus feugiat
 tellus quis cursus sollicitudin. Curabitur dolor massa,
 dictum ut ipsum in, porttitor pellentesque ante. Aenean
 egestas cursus tempor. Maecenas semper tortor sit amet
 egestas cursus. Mauris porttitor quis nisi ut tincidunt.
 Curabitur adipiscing eleifend nibh. Praesent mauris leo,
 consequat vitae orci eget, vestibulum bibendum nisi.
 Aliquam tempus diam ut tortor cursus, eget sodales augue
 adipiscing. Nulla at dignissim libero.
 </div>
 </div>
 </div>

  css

.content, .outer-container {
 width: 200px;
 height: 200px;
}
 
.outer-container {
 position: relative;
 overflow: hidden;
}
 
.inner-container {
 position: absolute;
 left: 0;
 overflow-x: scroll;
 overflow-y: scroll;
}
 
.inner-container::-webkit-scrollbar {
 display: none;
}

 

  该方案的实现原理:给外层的div和主要内容的div设置同样的宽高,然后.inner-container设置相对于.outer-container绝对定位,这样.inner-container就脱离了文档流,宽高子元素撑开,额外设置自己的滚动属性,但是由于最外层的div宽高固定,故.inner-container的滚动条看不到,事实上是可以滚动的

 

隐藏滚动条,同时仍然可以使用鼠标/键盘滚动[重复]

】隐藏滚动条,同时仍然可以使用鼠标/键盘滚动[重复]【英文标题】:Hidescrollbarwhilestillbeingabletoscrollwithmouse/keyboard[duplicate]【发布时间】:2011-03-1815:27:03【问题描述】:可能重复:Howtodisablebrowserorelementscrollbar,butallowscrollingwithwhee... 查看详情

隐藏滚动条(代码片段)

3种方法实现CSS隐藏滚动条并可以滚动内容2018-03-17539View0隐藏滚动条的同时还需要支持滚动,我们经常在前端开发中遇到这种情况,最容易想到的是加一个iscroll插件,但其实现在CSS也可以实现这个功能,我已经在很多地方使用了... 查看详情

html的一个div样式,如何使内容滚动条隐藏,但依旧可以滚动?

需要准备的材料分别有:电脑、浏览器、html编辑器。1、首先,打开html编辑器,新建html文件,例如:index.html,编写问题基础代码。2、在index.html中的<head>标签中,加入css代码:<style>::-webkit-scrollbardisplay:none;</style>。... 查看详情

如何隐藏窗口滚动条并使滚动仍然有效[重复]

】如何隐藏窗口滚动条并使滚动仍然有效[重复]【英文标题】:Howtohidewindowscrollbarandmakescrollingstillworking[duplicate]【发布时间】:2014-03-2900:58:34【问题描述】:我想隐藏窗口滚动条,我使用了这个css样式bodyoverflow:hidden;但这里的问... 查看详情

css实现隐藏滚动条同时又可以滚动

移动端页面为了更接近原生的体验,是否可以隐藏滚动条,同时又保证页面可以滚动?使用 overflow:hidden 隐藏滚动条,但存在的问题是:页面或元素失去了滚动的特性。由于只需要兼容移动浏览器(Chrome和Safari),于是想... 查看详情

纯css写的步骤条

...需求自行修改。其中横向滑动可以参加另外一篇文章:css如何实现滚动条隐藏但鼠标仍然可以滚动 查看详情

css实现隐藏滚动条同时又可以滚动(代码片段)

移动端页面为了更接近原生的体验,是否可以隐藏滚动条,同时又保证页面可以滚动?使用 overflow:hidden 隐藏滚动条,但存在的问题是:页面或元素失去了滚动的特性。由于只需要兼容移动浏览器(Chrome和Safari),于是想... 查看详情

css实现隐藏滚动条但是可以滚动

     .cont{width:200px;height:200px;border:1pxsolid#000000;overflow-x:hidden;}.cont::-webkit-scrollbar{display:none;} 查看详情

css实现隐藏滚动条但是可以滚动

     .cont{width:200px;height:200px;border:1pxsolid#000000;overflow-x:hidden;}.cont::-webkit-scrollbar{display:none;} 查看详情

前端切图:css实现隐藏滚动条同时又可以滚动

CSS实现隐藏滚动条同时又可以滚动原始功能: 添加伪类之后的功能: 完整demo如下:<!DOCTYPEhtml><html><head><metacharset="UTF-8"><title></title><style>::-webkit-scrollbar{display:none}< 查看详情

移动端隐藏滚动条,css方法

...白第一次发文记录自己遇到的问题。 关于隐藏移动端滚动条方法很多,这里只说本人用到的。 在PC端隐藏html右侧默认滚动条html{/*隐藏滚动条,当IE下溢出,仍然可以滚动*/-ms-overflow-style:none;/*火狐下隐藏滚动条*/scrollbar-wi... 查看详情

overflow-y:hidden隐藏了上下滚动条以后鼠标滚球无法滚动?

...或使用自定义的滚动条。下面是一个例子,使用JavaScript实现一个自定义滚动条来隐藏原生的滚动条:html:<divclass="scroll-container"><divclass="scroll-content"><!--contenthere--></div></div>css:.scroll-containero... 查看详情

如何隐藏水平滚动条并保持垂直滚动条可见,同时仍然能够水平滚动?

】如何隐藏水平滚动条并保持垂直滚动条可见,同时仍然能够水平滚动?【英文标题】:HowdoIhidehorizontalscrollbarandkeepverticalscrollbarvisiblewhilestillbeingabletoscrollhorizontally?【发布时间】:2022-01-0122:57:04【问题描述】:有很多这样的问... 查看详情

如何在div中隐藏滚动条[重复]

】如何在div中隐藏滚动条[重复]【英文标题】:Howtohidescrollbarinadiv[duplicate]【发布时间】:2017-05-2918:50:09【问题描述】:我制作了一个div,它包含了可滚动的溢出内容,但我希望隐藏它的滚动,但div仍然可以滚动。.descriptionheight:1... 查看详情

css如何在页面内出现滚动条的地方禁止鼠标滑轮滚动

css如何在页面内出现滚动条的地方禁止鼠标滑轮滚动,只能通过鼠标拉滚动条。css只是层叠样式表,是控制页面的样式的,并不能对一些操作进行控制。至于禁止鼠标滑轮的滚动是需要用js控制的,在js中有一个mousewheel事件,对这... 查看详情

css—溢出隐藏(隐藏滚动条,依旧可以滚动)

...一会就完成了,但是在预览内容过长时手机外框会有一个滚动条,影响美观,于是就想把它去掉,有一个方法个人觉得很好用,记录下。思路:写两个div嵌套在一起,高度都固定,外面的div固定宽度并且overflow:hidden;里面的div宽... 查看详情

使用隐藏滚动条滚动[重复]

】使用隐藏滚动条滚动[重复]【英文标题】:Scrollingwithhidingscrollbar[duplicate]【发布时间】:2013-12-1715:19:27【问题描述】:我尝试创建一个隐藏滚动条的页面,但您仍然可以滚动或单击链接向下滚动。我可以隐藏滚动条,但无法在1... 查看详情

css设置滚动条颜色与样式以及如何去掉与隐藏滚动条

...理一番,这里和大家分享一下使用CSS设置滚动条颜色以及如何去掉滚动条的方法,需要的朋友可以参考下,很有用的我们大家在浏览网页的时偶尔会看到很漂亮的各种颜色样式的滚动条,这就是通过css代码控制来实现的,于是本... 查看详情