我已经创建了一个响应式表格CSS,我想要一个特定的CSS到表格的滚动条。
但是,插入此代码时,浏览器滚动条也会更改。
如何在我的桌子上专门使用这个设计?
body {
padding:1.5em;
background: #f5f5f5
}
table {
border: 1px #a39485 solid;
font-size: .9em;
text-align: center;
box-shadow: 0 2px 5px rgba(0,0,0,.25);
width: 100%;
table-layout: fixed;
border-collapse: collapse;
border-radius: 5px;
overflow: hidden;
}
th {
text-align: center;
}
thead {
font-weight: bold;
color: #fff;
background: #0088CC;
}
td, th {
padding: 1em .5em;
vertical-align: middle;
}
td {
border-bottom: 1px solid rgba(0,0,0,.1);
background: #fff;
}
a {
color: #73685d;
}
@media all and (max-width: 768px) {
table, thead, tbody, th, td, tr {
display: block;
}
th {
text-align: right;
}
table {
position: relative;
padding-bottom: 0;
border: none;
box-shadow: 0 0 10px rgba(0,0,0,.2);
}
thead {
float: left;
white-space: nowrap;
}
tbody {
overflow-x: auto;
overflow-y: hidden;
position: relative;
white-space: nowrap;
}
tr {
display: inline-block;
vertical-align: top;
}
th {
border-bottom: 1px solid #a39485;
}
td {
border-bottom: 1px solid #e5e5e5;
}
}
::-webkit-scrollbar {
width: 12px;
}
/* Track */
::-webkit-scrollbar-track {
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
-webkit-border-radius: 10px;
border-radius: 10px;
}
/* Handle */
::-webkit-scrollbar-thumb {
-webkit-border-radius: 10px;
border-radius: 10px;
background: rgba(255,0,0,0.8);
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.5);
}
::-webkit-scrollbar-thumb:window-inactive {
background: rgba(255,0,0,0.4);
}
请帮忙。
答案 0 :(得分:2)
通过将表放在scorll bar选择器之前,您应该能够像任何其他css元素一样专门定位表滚动条。所以你可以这样做:
table::-webkit-scrollbar{
/*Your styles here*/
}
table::-webkit-scrollbar-thumb{
/*Your styles here*/
}
table::-webkit-scrollbar-thumb:window-inactive{
/*Your styles here*/
}
这里的概念证明:http://codepen.io/supah_frank/pen/JooNKx
编辑另外,我在Chrome中玩这个时已经注意到了一些奇怪的怪癖(不知道它是否会影响其他浏览器)。
首先,滚动条的css似乎缓存,因此请确保在更改css后进行硬刷新(ctrl + F5)。
其次,即使你没有设计样式,你需要定位并将一些样式应用到{your element}::-webkit-scrollbar
,然后对元素的滚动条进行任何其他更改(我发现display: block
适用于你不想真正做出任何改变)。如果你没有定位它,滚动条上的其他任何一个css都不会因某些奇怪的原因而起作用。