使用 overflow-y:auto 时有没有隐藏滚动条的方法?
Is there a way of hiding a scroll bar when using overflow-y:auto?
旨在隐藏我使用的滚动条
&:hover{
max-height: calc(100vh - 100px);
overflow:auto;
}
但是,我的主要问题是包含侧边栏的元素的宽度更改为 space 滚动部分。有没有办法避免这种情况或完全隐藏滚动并仍然能够滚动?
这是我的 CodePen,如果你觉得它更简单的话:https://codepen.io/fergos2/pen/MWgLqgL?editors=1100
(找到下面没有口红的代码)
在此先感谢您对这位新手的帮助!
.container {
width: 100%;
margin: 0 auto;
background-color: #eee;
display: grid;
grid-template-rows: min-content 1fr;
grid-template-columns: 1fr 2fr 1fr;
grid-gap: 15px;
grid-template-areas: "head head head"
"leftbar main rightbar";
& > * {
background-color: pink;
color: #ggg;
font-size: 20px;
font-family: sans-serif;
}
}
.pd {
padding: 15px;
}
.header {
grid-area: head;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 10;
box-shadow: 0 15px #eee;
}
.left-sidebar {
grid-area: leftbar;
display: flex;
flex-direction: column;
justify-content: flex-start;
.left-inner {
position: -webkit-sticky;
position: sticky;
top: 70px;
&:hover{
max-height: calc(100vh - 100px);
overflow:auto;
}
// overflow-y: auto;
}
.box-1 {
color: red;
border: 1px solid purple;
margin-bottom: 5px;
}
.footer {
color: green;
border: 1px solid purple;
}
}
.main-content {
grid-area: main;
}
.right-sidebar {
grid-area: rightbar;
display: flex;
flex-direction: column;
justify-content: flex-start;
.box-2 {
color: red;
border: 1px solid purple;
margin-bottom: 5px;
}
.box-3 {
color: green;
border: 1px solid purple;
}
.right-inner {
position: -webkit-sticky;
position: sticky;
top: 70px;
}
}
<div class="container">
<header class="header pd">Header</header>
<div class="left-sidebar pd">
<div class="left-inner">
<div class="box-1 pd">
Box-1
</div>
<footer class="footer pd">
Footer
</footer>
</div>
</div>
<div class="main-content pd">
Main content
</div>
<div class="right-sidebar pd">
<div class="right-inner">
<div class="box-2 pd">
Box-2
</div>
<div class="box-3 pd">
Box-3
</div>
</div>
</div>
</div>
更新
它通过使用下面我的回答中显示的代码工作。
以下对我有用
::-webkit-scrollbar
{
width: 0px; /* for vertical scrollbars */
height: 0px; /* for horizontal scrollbars */
}
::-moz-scrollbar {
width: 0px;
height: 0px;
}
旨在隐藏我使用的滚动条
&:hover{
max-height: calc(100vh - 100px);
overflow:auto;
}
但是,我的主要问题是包含侧边栏的元素的宽度更改为 space 滚动部分。有没有办法避免这种情况或完全隐藏滚动并仍然能够滚动?
这是我的 CodePen,如果你觉得它更简单的话:https://codepen.io/fergos2/pen/MWgLqgL?editors=1100
(找到下面没有口红的代码)
在此先感谢您对这位新手的帮助!
.container {
width: 100%;
margin: 0 auto;
background-color: #eee;
display: grid;
grid-template-rows: min-content 1fr;
grid-template-columns: 1fr 2fr 1fr;
grid-gap: 15px;
grid-template-areas: "head head head"
"leftbar main rightbar";
& > * {
background-color: pink;
color: #ggg;
font-size: 20px;
font-family: sans-serif;
}
}
.pd {
padding: 15px;
}
.header {
grid-area: head;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 10;
box-shadow: 0 15px #eee;
}
.left-sidebar {
grid-area: leftbar;
display: flex;
flex-direction: column;
justify-content: flex-start;
.left-inner {
position: -webkit-sticky;
position: sticky;
top: 70px;
&:hover{
max-height: calc(100vh - 100px);
overflow:auto;
}
// overflow-y: auto;
}
.box-1 {
color: red;
border: 1px solid purple;
margin-bottom: 5px;
}
.footer {
color: green;
border: 1px solid purple;
}
}
.main-content {
grid-area: main;
}
.right-sidebar {
grid-area: rightbar;
display: flex;
flex-direction: column;
justify-content: flex-start;
.box-2 {
color: red;
border: 1px solid purple;
margin-bottom: 5px;
}
.box-3 {
color: green;
border: 1px solid purple;
}
.right-inner {
position: -webkit-sticky;
position: sticky;
top: 70px;
}
}
<div class="container">
<header class="header pd">Header</header>
<div class="left-sidebar pd">
<div class="left-inner">
<div class="box-1 pd">
Box-1
</div>
<footer class="footer pd">
Footer
</footer>
</div>
</div>
<div class="main-content pd">
Main content
</div>
<div class="right-sidebar pd">
<div class="right-inner">
<div class="box-2 pd">
Box-2
</div>
<div class="box-3 pd">
Box-3
</div>
</div>
</div>
</div>
更新
它通过使用下面我的回答中显示的代码工作。
以下对我有用
::-webkit-scrollbar
{
width: 0px; /* for vertical scrollbars */
height: 0px; /* for horizontal scrollbars */
}
::-moz-scrollbar {
width: 0px;
height: 0px;
}