使滚动条在移动浏览器中可见

问题描述 投票:0回答:4

当我有一个带有可滚动内容的网页时。使用CSS属性“overflow:auto”或“overflow:visible”,滚动条在桌面浏览器上可见,但是当我在移动浏览器上打开页面时,滚动条仅在我尝试滚动时出现。 有没有办法让滚动条在移动设备上始终可见?我尝试过一些 JQuery 库,但没有一个起作用。

html 代码很简单,我有一个可滚动的 div,里面有一个 IFrame:

<div id="wrapper">
    <iframe id="frameContent" src="mysite" scrollable="yes"></iframe>
</div>

CSS:

#wrapper{
    overflow: scroll;
    -webkit-overflow-scrolling: touch;
    width: 500px;
    height: 200px;
}

#frameContent{
    width: 100%;
    height: 100%;
} 
javascript jquery css scroll mobile-browser
4个回答
103
投票

尝试将以下内容添加到您的CSS中,请注意这是webkit特定

演示小提琴

::-webkit-scrollbar {
    -webkit-appearance: none;
}

::-webkit-scrollbar:vertical {
    width: 12px;
}

::-webkit-scrollbar:horizontal {
    height: 12px;
}

::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, .5);
    border-radius: 10px;
    border: 2px solid #ffffff;
}

::-webkit-scrollbar-track {
    border-radius: 10px;
    background-color: #ffffff;
}

17
投票
  /* !important is needed sometimes */
 ::-webkit-scrollbar {
    width: 12px !important;
 }

 /* Track */
::-webkit-scrollbar-track {
   -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3) !important;
   -webkit-border-radius: 10px !important;
   border-radius: 10px !important;
 }

 /* Handle */
 ::-webkit-scrollbar-thumb {
   -webkit-border-radius: 10px !important;
   border-radius: 10px !important;
   background: #41617D !important; 
   -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5) !important; 

 }
 ::-webkit-scrollbar-thumb:window-inactive {
   background: #41617D !important; 
 }

添加此 css 代码 - 它将仅更改移动设备中滚动条的样式


6
投票

对于 Safari、IOS 浏览器的问题,

设置

-webkit-溢出滚动:自动

与上面在其他 ::-webkit-scrollbar 解决方案中提到的 CSS 一起使用,效果很好


0
投票

有同样的问题,我相信我任何样式都不会做任何事情来使滚动条始终在移动设备上可见,我所做的是使用 simplebar 库,非常容易使用,只需链接 CSS 和 js 文件并在父级删除中添加 data-simplebar溢出滚动和所有 enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.