Mar*_*ark 26
我一直有同样的问题.这不是最优雅的解决方案,但这就是我所做的......
只需在外盒内放一个较小的div,这样滚动条就不会与外盒重叠.像这样http://codepen.io/DeadWhisky/pen/eKFha
小智 18
将需要滚动的内容放入div
with中overflow: auto
.在那个内容周围div
放了一个div
圆角和overflow: hidden
.
现在您可以看到滚动条但其外角是隐藏的,并且不会干扰外部的圆角div
.
例:
// Insert placeholder text
document.querySelector('.inner').innerHTML = 'Text<br>'.repeat(20);
Run Code Online (Sandbox Code Playgroud)
.outer {
width: 150pt;
border: 1px solid red;
border-radius: 15pt;
overflow: hidden;
}
.inner {
height: 200px;
overflow-y: auto;
}
Run Code Online (Sandbox Code Playgroud)
<div class="outer">
<div class="inner">
<!-- lots of text here -->
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
ber*_*ida 17
谷歌在展示他们的网络应用程序时实现了类似的东西。
在检查元素和复制粘贴的帮助下,我得到了下面的代码。
ul::-webkit-scrollbar-thumb {
background-color: red;
border: 4px solid transparent;
border-radius: 8px;
background-clip: padding-box;
}
ul::-webkit-scrollbar {
width: 16px;
}
ul {
overflow-y: scroll;
margin: 0;
padding: 0;
width: 350px;
max-height: 300px;
background-color: #ddd;
border-radius: 8px;
}
li {
list-style-type: none;
padding: 13px;
}
Run Code Online (Sandbox Code Playgroud)
<ul>
<li>google.com</li>
<li>facebook.com</li>
<li>twitter.com</li>
<li>instagram.com</li>
<li>linkedin.com</li>
<li>reddit.com</li>
<li>whatsapp.com</li>
<li>tumblr.com</li>
<li>skype.com</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我不认为自己是 CSS 专家,所以希望有人能解释这些东西是如何工作的。
或者你可以查看 MDN 上的文档: