Как мне растянуть блок по вертикали на javascript?
Вот у меня имеется такой код:
.container {
position: relative;
overflow: hidden;
width: 100%;
height: 100%;
background: gold;
}
.sidebar {
position: relative;
overflow: hidden;
width: 300px;
height: 100%;
background: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
<div class="sidebar">
</div>
</div>
А как мне растянуть сайдбар на всю страницу по вертикали на javascript, чтобы он и растягивал весь контейнер?
Ответы (2 шт):
Автор решения: Sevastopol'
→ Ссылка
$(document).ready(function() {
function setHeight() {
windowHeight = $(window).innerHeight();
$('.sidebar').css('min-height', windowHeight);
};
setHeight();
$(window).resize(function() {
setHeight();
});
});
.container {
position: relative;
overflow: hidden;
width: 100%;
background: gold;
}
.sidebar {
position: relative;
overflow: hidden;
width: 300px;
background: red;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="container">
<div class="sidebar">
</div>
</div>
Автор решения: Vlad
→ Ссылка
Это можно сделать при помощи одного CSS.
body {
height: 100vh;
margin: 0;
}
В данном примере высота старницы будет считаться по высоте контента, и без содержимого она будет 0. Если вы хотите сделать страницу, в которой будет сайдбар и основной контент, то нужно будет вставить элемент с основным содержимым в container и использовать css-cвойства float / flex / grid.