Неправильное отображение при изменении величин
Есть код html:
<!DOCTYPE html>
<html lang="ru-RU">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Курсовая работа</title>
<link rel="stylesheet" href="../Kursovaya/css/style.css">
</head>
<body>
<div class="wrapper">
<div class="header">
<div class="menu">
<ul>
<li><a href="#">Главная</a></li>
<li><a href="#">Страница</a></li>
<li><a href="#">О нас</a></li>
</ul>
</div>
<div class="top">
<div class="blogname">
<h1>Космос</h1>
</div>
</div>
<div id="toggler"></div>
</div>
<div class="content">
<div id="content">
<div class="post">
<p>Автор: admin Опубликовано: 19 мая 2024</p>
<h1>Привет, мир!</h1>
</div>
<div class="commentary">
<h2>Это ваша первая запись</h2>
<p>Комментарии (1)</p>
</div>
</div>
<div id="sidebar">
<ul>
<li class="search">
<form method="get">
Найти: <input type="text" name="s">
<input type="submit" value="Поиск">
</form>
</li>
<li class="categories">
<h2>Категории</h2>
<ul>
<li><a href="#">2024</a></li>
<li><a href="#">2023</a></li>
<li><a href="#">2022</a></li>
</ul>
</li>
<li>
<h2>Архивы</h2>
<ul>
<li><a href="#">Май 2024</a></li>
<li><a href="#">Апрель 2024</a></li>
<li><a href="#">Март 2024</a></li>
<li><a href="#">Февраль 2024</a></li>
<li><a href="#">Январь 2024</a></li>
</ul>
</li>
<li>
<h2>Рубрики</h2>
<ul>
<li><a href="#">Без рубрики</a></li>
</ul>
</li>
<li>
<h2>Мета</h2>
<ul>
<li><a href="#">Управление сайтом</a></li>
<li><a href="#">Войти</a></li>
</ul>
</li>
<li>
<h2>Ссылки</h2>
<ul>
<li><a href="#">.org</a></li>
</ul>
</li>
</ul>
</div>
<div class="clear"></div>
</div>
<div id="footer">
<img src="../Kursovaya/images/footer.png" alt="Footer Image" id="footer-img">
<div class="footer-content">
© 2024 - .ru <br>
<span>Локализация: .ru: <a href="#" style="color:gray"></a>.
<a href="#" title="Поисковое продвижение сайтов от Seone.ru" style="color:gray">поисковое продвижение сайта</a>,
<a href="#" title="SEONE - поддержка сайтов" style="color:gray">поддержка сайтов</a></span>
</div>
</div>
</div>
</body>
</html>
Есть CSS-файл:
body {
height: 100%;
display: flex;
justify-content: center;
margin: 0;
padding-top: 0px;
background: #000 url(../images/body.gif);
font-family: "Myriad web", Tahoma, Verdana, sans-serif;
color: #fff;
font-size: 13px;
}
img {
border: 0;
background-size: contain;
}
a {
text-decoration: none
}
a:hover {
color: #ffa200;
text-decoration: none
}
.clear {
clear: both;
}
.wrapper {
margin: 0 0 10% 0;
background: #000;
background-repeat: no-repeat;
}
.header{
height: 26%;
width: 100%;
}
/* The Top */
.top {
min-height: 18.38vh;
background: url(../images/top.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
.blogname {
float: left;
width: 55%;
}
.blogname h1 {
font-size: 35px;
font-weight: bold;
margin: 20px 0 0 50px;
text-decoration: none;
color: #fff;
background-color: transparent;
}
#toggler {
background: #000 url(../images/about.jpg);
font-family: Tahoma, Verdana, "Myriad Web", Syntax, sans-serif;
width: 76.9em;
height: 30px;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
/* Menu */
.menu {
margin: 7px 7px 0 7px;
height: 15%;
background: #121212;
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}
.menu ul {
margin: 0;
padding: 7px 20px;
list-style: none;
}
.menu ul li {
float: left;
margin: 0;
padding: 0;
}
.menu ul li:hover {
background-color: transparent;
}
.menu ul li a:hover {
background: #000 url(../images/menuhov.gif) repeat-x;
}
.menu ul li a {
float: left;
margin: 0 1px 0 0;
font-size: 100%;
font-weight: normal;
text-decoration: none;
padding: 5px 5px;
font-size: 14px;
color: #b2cf14;
}
/* The Content */
#content {
width: 100%;
margin: 0 0 3px 0;
padding: 0 0;
margin: 20px;
}
.content {
display: flex;
flex-direction: row;
}
.post p {
color: white;
background-color: #191919;
padding: 5px;
}
.post, .commentary {
height: auto;
padding: 5px;
border-radius: 5px;
min-height: 70px;
background: linear-gradient(to bottom, #333, #111);
color: #bacf56;
}
.commentary h2 {
color: #717375;
background: #070707;
margin: 0;
padding: 30px;
}
.commentary p {
margin-left: 10px;
}
.entry {
display: block;
margin: 0;
padding: 5px 25px;
}
/* The Sidebar */
#sidebar {
width: 14.6em;
font-size: 12px;
color: #333;
}
#sidebar ul {
margin: 0;
padding: 0;
list-style-type: none;
}
#sidebar h2 {
font-size: 16px;
height: 24px;
font-weight: bold;
font-family: Tahoma, arial, sans-serif;
padding: 5px 0px 0px 5px;
background: #333;
Margin: 10px 0 0 0;
color: #ccc;
}
#sidebar a {
display: block;
line-height: 160%;
padding: 4px 0 4px 0;
color: #6e8900;
}
#sidebar ul li a {
background: #111;
padding-left: 10px;
}
/* --- FOOTER --- */
#footer {
display: flex;
align-items: center;
padding: 10px 20px;
background-color: #000; /* Добавим фоновый цвет для контраста */
color: #fff;
font-size: 10px;
font-weight: normal;
letter-spacing: 1px;
}
#footer-img {
margin-right: 2px; /* Расстояние между изображением и текстом */
height: auto; /* Высота изображения */
}
.footer-content {
display: flex;
flex-direction: column;
}
#footer a {
color: #999;
text-decoration: none;
}
/* Small screens */
@media (max-width: 768px) {
.search input[name="s"] {
width: 92%;
}
.wrapper {
max-width: 90%;
}
.header{
height: 22%;
width: 100%;
margin-bottom: 2%;
}
.top {
height: 70%;
}
.menu {
margin: 0;
}
.menu ul {
padding: 7px 0;
}
.menu ul li a {
padding: 5px 10px;
}
#toggler {
width: 100%;
}
.blogname {
width: 100%;
}
#content {
width: 100%;
}
#sidebar {
max-width: 100%;
margin: 1% 3% 0 0;
}
#footer {
padding: 5% 0 1% 0;
text-align: center;
}
img {
max-width: 100%;
height: auto;
}
}
/* Medium screens */
@media (min-width: 769px) and (max-width: 1024px) {
.wrapper {
width: 70%;
max-width: 70%;
}
.menu {
margin: 0;
}
.menu ul {
padding: 7px 20px;
}
.menu ul li a {
padding: 5px 5px;
}
#content {
width: 100%;
}
#sidebar {
width: 30%;
margin: 10px 20px 0 0;
}
img {
max-width: 100%;
height: auto;
}
#toggler {
width: 100%;
}
#content {
width: 100%;
}
}
/* Large screens */
@media (min-width: 1025px) {
.wrapper {
max-width: 100%;
}
.menu ul {
padding: 7px 20px;
}
.menu ul li a {
padding: 5px 5px;
}
#content {
width: 78%;
}
#sidebar {
width: 14.6em;
margin: 10px 20px 0 0;
}
img {
max-width: 100%;
height: auto;
}
}
Почему когда я меняю в top height с 18.38vh например на 70%, то ломается длина html? Как это можно исправить? (мне нужно задать все width и height именно в %, поэтому я не могу использовать ни px, ни em, ни vw/vh)
.top {
height: 18.38vh;
background: url(../images/top.jpg);
background-repeat: no-repeat;
background-size: cover;
background-position: center;
}