Я пытаюсь получить макет, в котором у меня есть главный заголовок, боковая панель, основной контент и заголовок основного контента, где единственные полосы прокрутки находятся в вертикальном направлении для боковой панели, а также в вертикальном и горизонтальном направлениях. основное содержимое.
В моем текущем коде я могу получить только вертикальную полосу прокрутки на теле и горизонтальную полосу прокрутки на контенте, и к ней трудно получить доступ, потому что полоса прокрутки для контента находится в самом низу тела, рост которого я не хочу увеличивать.
Мне сложно понять, как подогнать корпус по ширине и высоте экрана, в то время как содержимое #menu_bar
и #main_content
имеет правильные полосы прокрутки.
Вот макет того, чего я пытаюсь достичь:
Вот то, что у меня сейчас есть.
body {
min-width: 800px;
min-height: 500px;
overflow: auto;
margin: 10px;
border: solid black 1px;
max-width: 100%;
min-height: 100%;
font-family: Arial, Helvetica, sans-serif;
user-select: none;
}
#content {
position: relative;
display: flex;
flex-direction: row;
width: 100%;
height: 100%;
}
#menu_bar {
position: relative;
border-top: none;
overflow-y: auto;
}
#tabs {
width: 100%;
}
.tab {
margin: 5px;
padding: 5px;
width: max-content;
max-width: 300px;
}
#main {
position: relative;
display: flex;
flex-direction: column;
overflow: hidden;
width: 100%;
height: 100%;
}
#main_header {
display: flex;
flex-direction: column;
}
#main_content {
box-sizing: inherit;
display: flex;
flex-direction: column;
position: relative;
overflow-x: auto;
overflow-y: auto;
margin: 10px;
max-height: 100%;
}
.vertical-divider {
border-left: black solid 1px;
}
.horizontal-divider {
border-top: black solid 1px;
}
<!DOCTYPE html>
<html lang="en">
<body>
<header>
PAGE HEADER
</header>
<div class="horizontal-divider" id="header_content_divider"></div>
<div id="content">
<div class="vertical-divider hidden" style="display: none;"></div>
<!-- Left Menu Bar -->
<div id="menu_bar">
<div id="tabs">
<div class="tab">Tab 0</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 1</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 2</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 3</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 4</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 5</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 6</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 7</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 8</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 9</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 10</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 11</div>
<div class="horizontal-divider"></div>
<div class="tab">Tab 12</div>
</div>
</div>
<div class="vertical-divider" id="left_main_divider"></div>
<div id="main">
<div id="main_header">
MAIN HEADER
</div>
<div class="horizontal-divider"></div>
<div id="main_content">
<div id="wide">
ThisIsWideContentThisIsWideContentThisIsWideContentThisIsWideContentThisIsWideContentThisIsWideContentThisIsWideContentThisIsWideContentThisIsWideContentThisIsWideContentThisIsWideContentThisIsWideContent
</div>
<div id="tall">
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
<p>ThisIsTallContent</p>
</div>
</div>
</div>
</body>
</html>