У меня проблема с моей страницей. Я пытаюсь создать страницу 100vh, и она, кажется, работает нормально. Но затем у меня была страница, которая была слишком высокой для отображения, и появилась полоса прокрутки. Однако: я бы хотел, чтобы основная часть страницы была прокручиваемой (если необходимо), а остальная часть исправлена. Я подготовил следующий фрагмент кода с моим кодом:
html {
font-family: sans-serif;
font-size: 0.5rem;
}
* {
box-sizing: border-box;
padding: 0;
border: 0;
margin: 0;
}
html * {
/* debugging */
border: 1px dotted hotpink;
}
header, footer {
text-align: center;
background-color: hotpink;
}
body {
display: flex;
flex-flow: column nowrap;
height: 100vh;
}
body>div {
flex: 1 1 auto;
display: flex;
flex-flow: row wrap;
}
nav {
background-color: lightblue;
width: 10%;
}
nav ul {
display: flex;
flex-flow: column nowrap;
list-style-type: none;
}
nav ul li:hover {
background-color: royalblue;
}
nav ul li a {
display: block;
text-decoration: none;
padding: 0.5em;
text-align: center;
}
main {
flex: 1 1 auto;
width: 75%;
}
aside {
width: 15%;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta content="width=device-width, initial-scale=1.0">
<title>title</title>
</head>
<body>
<header>
<h1>THIS IS A VERY LONG TITLE</h1>
</header>
<div>
<nav>
<ul>
<li><a href="/index.gohtml">index</a></li>
<li><a href="/post.gohtml">post</a></li>
</ul>
</nav>
<main>
<table>
<thead>
<th>ID</th>
<th>NAME</th>
<th>PRICES</th>
</thead>
<tbody>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
<tr><td>id</td><td>name</td><td>0</td><td>0</td></tr>
</tbody>
</table>
</main>
<aside>aside</aside>
</div>
<footer>(c) by me</footer>
</body>
</html>
Можете ли вы помочь мне сделать всю страницу не прокручиваемой, а главный элемент прокручиваемым при необходимости? Я пробовал несколько вещей и некоторое время пользовался Google, но все, что я нашел, это решения с гибким потоком на основе столбцов, а не на основе строк. Есть ли способ получить то, что я хочу?
При удалении некоторых строк таблицы вы можете увидеть намеченный макет.
Редактировать: я забыл упомянуть, что хотел бы избежать установки фиксированнойвысота по основному компоненту. Я попробовал это, и это сработало, но я хочу, чтобы основной компонент был гибким при изменении размера окна.