#html #css
#HTML #css
Вопрос:
Когда у меня есть «накладная боковая панель», введите div с position: fixed
правой стороны тела (где также есть содержимое переполнения) Я получаю двойные полосы прокрутки.
Я думаю, что я бы хотел, чтобы наложенный div «закрывал» полосу прокрутки тела, если это возможно. пример в Chrome и Linux здесь, пример в Chrome и Linux здесь и пример js fiddle здесь
Спасибо!
Ответ №1:
Если вы просто хотите скрыть полосу прокрутки тела, сохраняя при этом его функциональность, вы добавляете это в свой CSS
body::-webkit-scrollbar {
display: none;
}
Примечание: скрытие полосы прокрутки не является хорошей практикой.
Ответ №2:
Элемент таблицы достигнет желаемого результата компоновки, который вы ищете. Браузер Chrome не сразу вызывает полосы прокрутки при отображении таблицы (я не уверен, почему), но это работает. Добавить display: table;
в #sidebar
CSS.
body,
#sidebar {
padding: 2rem;
}
body {
background-color: #eee;
}
#sidebar {
background-color: lightblue;
border-left: 2px solid blue;
display: table;
position: fixed;
width: 30vw;
height: 100%;
right: 0;
top: 0;
overflow-y: auto;
}
Ответ №3:
body,
#sidebar {
padding: 2rem;
}
body {
background-color: #eee;
}
#sidebar {
background-color: lightblue;
border-left: 2px solid blue;
position: fixed;
width: 30vw;
height: 100vh;
right: 0;
top: 0;
overflow-y: auto;
}
<body>
<div id="content">
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
<p>hello it's content content content</p>
</div>
<div id="sidebar">
<p>hello it's sidebar content</p>
<p>hello it's sidebar content</p>
<p>hello it's sidebar content</p>
<p>hello it's sidebar content</p>
</div>
</body>
На вашей боковой панели слишком много содержимого. Вот почему он показывает две полосы прокрутки. Если вам не нужны две полосы прокрутки, вам необходимо сохранить содержимое боковой панели.