荆轲刺秦王
一般情况下用:
}
}
就可以解决。如果解决不了,那就只能
1.在需要滚动的层scrollbar外再加一个层hide-scrollbar。
2.然后将这个层hide-scrollbar的overflow:hidden。
3.将层scrollbar的position:absolute,并且把需要滚动的那一边的大小设置刚好滚动条的大小(用calc实现)。<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no">
<title>Document</title>
<style>
body {
max-width: 325px;
padding: 10px 30px;
}
.hide-scrollbar {
position: relative;
width: 100%;
height: 100px;
overflow: hidden;
}
.scrollbar {
position: absolute;
width: calc(100% + 18px);
height: 100%;
background-color: #ccc;
overflow-y: auto;
}
.scrollbar ul {
margin: 0;
}
.scrollbar.row {
width: 100%;
height: calc(100% + 18px);
overflow-y: hidden;
overflow-x: auto;
}
.scrollbar.row ul {
white-space: nowrap;
}
.scrollbar.row ul li {
display: inline-block;
line-height: 100px;
}
</style>
</head>
<body>
<h4>竖向</h4>
<div class="hide-scrollbar">
<div class="scrollbar">
<ul>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
</ul>
</div>
</div>
<h4>横向</h4>
<div class="hide-scrollbar">
<div class="scrollbar row">
<ul>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
<li>demo-list</li>
</ul>
</div>
</div>
</body>
</html>
CSS的参考文档里面有关于关于滚动条的说明,可以自定义滚动条样式:
具体含义及其他设置项:
::-webkit-scrollbar 滚动条整体部分
::-webkit-scrollbar-thumb 滚动条里面的小方块,能向上向下移动(或往左往右移动,取决于是垂直滚动条还是水平滚动条)
::-webkit-scrollbar-track 滚动条的轨道(里面装有Thumb)
::-webkit-scrollbar-button 滚动条的轨道的两端按钮,允许通过点击微调小方块的位置。
::-webkit-scrollbar-track-piece 内层轨道,滚动条中间部分(除去)
::-webkit-scrollbar-corner 边角,即两个滚动条的交汇处
::-webkit-resizer 两个滚动条的交汇处上用于通过拖动调整元素大小的小控件
:horizontal
//horizontal伪类适用于任何水平方向上的滚动条
:vertical
//vertical伪类适用于任何垂直方向的滚动条
:decrement
//decrement伪类适用于按钮和轨道碎片。表示递减的按钮或轨道碎片,例如可以使区域向上或者向右移动的区域和按钮
:increment
//increment伪类适用于按钮和轨道碎片。表示递增的按钮或轨道碎片,例如可以使区域向下或者向左移动的区域和按钮
:start
//start伪类适用于按钮和轨道碎片。表示对象(按钮 轨道碎片)是否放在滑块的前面
:end
//end伪类适用于按钮和轨道碎片。表示对象(按钮 轨道碎片)是否放在滑块的后面
:double-button
//double-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一对按钮。也就是轨道碎片紧挨着一对在一起的按钮。
:single-button
//single-button伪类适用于按钮和轨道碎片。判断轨道结束的位置是否是一个按钮。也就是轨道碎片紧挨着一个单独的按钮。
:no-button
no-button伪类表示轨道结束的位置没有按钮。
:corner-present
//corner-present伪类表示滚动条的角落是否存在。
:window-inactive
//适用于所有滚动条,表示包含滚动条的区域,焦点不在该窗口的时候。
::-webkit-scrollbar-track-piece:start {
/*滚动条上半边或左半边*/
}
::-webkit-scrollbar-thumb:window-inactive {
/*当焦点不在当前区域滑块的状态*/
}
::-webkit-scrollbar-button:horizontal:decrement:hover {
/*当鼠标在水平滚动条下面的按钮上的状态*/
}