使滚动条始终在div - chrome中可见

dev*_*r87 18 css

我第一次实现了无限滚动,但是当没有溢出时我无法初始显示滚动条.我在chrome中试过这个:

#scrollarea-invalid {
overflow-y: scroll !important;
height: 350px;
}
Run Code Online (Sandbox Code Playgroud)

如何在此div中始终显示滚动条,即使内容在此div中小于350px?

Cum*_*bus 37

body {
  padding: 10px;
}

ul {
  max-height:150px;
  overflow:scroll;
}

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 10px;
}

::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: rgba(0,0,0,.5);
  -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}
Run Code Online (Sandbox Code Playgroud)
<ul>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
    <li>This is some content</li>
</ul>
Run Code Online (Sandbox Code Playgroud)


tre*_*005 12

只是让滚动条可见将不允许您对尝试向下滚动的用户做出反应.因此,您需要实际将内容流转移到该区域之外并检测滚动.试试这个 :

#scrollarea-invalid {
overflow-y: scroll;
height: 350px;
}
#scrollarea-content{
  min-height:101%;
}
Run Code Online (Sandbox Code Playgroud)
<div id='scrollarea-invalid'>
  <div id='scrollarea-content'></div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 这在Chrome和Mac上无效 (16认同)

Cod*_*ker 9

overflow: auto或者 overflow: scroll 有时不起作用。所以我们必须尝试基于 webkit 的代码来解决这个问题。

尝试以下代码来显示始终显示的滚动条,

::-webkit-scrollbar {
  -webkit-appearance: none;
  width: 10px;
}

::-webkit-scrollbar-thumb {
  border-radius: 5px;
  background-color: rgba(0,0,0,.5);
  -webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}
Run Code Online (Sandbox Code Playgroud)

这将始终在页面上显示垂直和水平滚动条。如果你只需要一个垂直滚动条,那么把overflow-x: hidden

  • 感谢@Kitson 的宝贵评论。 (2认同)