我有这个名为items的元素,元素内的元素长度超过元素高度,我想让它可滚动但隐藏滚动条,我该怎么做?
<div class="left-side">
<div class="items" style="display:block;width: 94%;margin: 0 auto;overflow: hidden;">
</div>
</div>
.left-side {
width: 1470px;
padding-top: 20px;
height: 878px;
}
我尝试将左侧类溢出设置为auto,但是没有做任何事情。
答案 0 :(得分:52)
你可以隐藏它:
html {
overflow: scroll;
}
::-webkit-scrollbar {
width: 0px;
background: transparent; /* make scrollbar transparent */
}
有关详细信息,请参阅:Hide scroll bar, but while still being able to scroll
答案 1 :(得分:6)
我将SO中的几个不同答案组合到以下代码段中,这些代码应该可以在所有(即使不是大多数)现代浏览器上运行。您所要做的就是将CSS类var https = require('https');
//contains execution environment and price history
module.exports = {
//gets pricing data for a given asset on bitmex within a set time frame.
fetchPricingBucket: function(timeFrame, symbol, windowSize, startTime, endTime, callback) {
//append arguments to request
var request = "https://www.bitmex.com/api/v1/trade/bucketed?";
request += "binSize=" + timeFrame + "&";
request += "symbol=" + symbol + "&";
request += "count=" + windowSize + "&";
request += "startTime=" + startTime + "&";
request += "endTime=" + endTime;
https.get(request, function (res) {
const {
statusCode
} = res;
const contentType = res.headers['content-type'];
//check for erroers
let error;
if (statusCode !== 200) {
error = new Error('Request Failed.\n' +
`Status Code: ${statusCode}`);
}
else if (!/^application\/json/.test(contentType)) {
error = new Error('Invalid content-type.\n' + `Expected application/json but received ${contentType}`);
}
if (error) {
console.error(error.message);
// consume response data to free up memory
res.resume();
return;
}
// Buffer the body entirely for processing as a whole.
var bodyChunks = [];
res.on('data', function(chunk) {
// You can process streamed parts here...
bodyChunks.push(chunk);
}).on('end', function() {
callback(JSON.parse(bodyChunks), error);
// ...and/or process the entire body here.
})
//returns the json response and error to the calling function.
});
},
添加到您希望对其应用的元素上。
.disable-scrollbars
如果要使用SCSS / SASS:
.disable-scrollbars::-webkit-scrollbar {
width: 0px;
background: transparent; /* Chrome/Safari/Webkit */
}
.disable-scrollbars {
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* IE 10+ */
}
答案 2 :(得分:5)
如果您真的想摆脱滚动条,请将信息分成两个单独的页面。
Usability guidelines on scrollbars by Jakob Nielsen:
滚动和滚动条有五个基本的可用性指南:
- 如果某个区域有滚动内容,请提供滚动条。不要依赖 自动滚动或拖动,人们可能不会注意到。
- 隐藏 如果所有内容都可见,则滚动条。如果人们看到滚动条,他们 假设有额外的内容,如果他们不能,将会感到沮丧 滚动。
- 遵守GUI标准并使用看起来像的滚动条 滚动条。
- 避免在网页上水平滚动并将其最小化 别处。
- 显示所有重要信息。用户 通常根据他们可以看到的内容来决定是留下还是离开 没有滚动。此外,他们只分配了20%的注意力 低于首位。
要使滚动条仅在需要时可见(即当有内容向下滚动时),请使用overflow: auto
。
答案 3 :(得分:4)
希望这会有所帮助
/* Hide scrollbar for Chrome, Safari and Opera */
::-webkit-scrollbar {
display: none;
}
/* Hide scrollbar for IE, Edge and Firefox */
html {
-ms-overflow-style: none; /* IE and Edge */
scrollbar-width: none; /* Firefox */
}
答案 4 :(得分:2)
可在所有主要浏览器上使用
html {
overflow: scroll;
overflow-x: hidden;
}
::-webkit-scrollbar {
width: 0px; /* Remove scrollbar space */
background: transparent; /* Optional: just make scrollbar invisible */
}
答案 5 :(得分:1)
答案 6 :(得分:1)
类似于Kiloumap L'artélon的回答,
::-webkit-scrollbar {
display:none;
}
也有效
答案 7 :(得分:0)
如果你使用sass,你可以尝试这个
&::-webkit-scrollbar {
}
答案 8 :(得分:0)
您可以将其隐藏在特定的 div usig 类中:
//HTML
<div class="hide-scroll"></div>
//style
.hide-scroll{
overflow: scroll;
}
.hide-scroll::-webkit-scrollbar {
width: 0px;
background: transparent; /* make scrollbar transparent */
}