У меня есть количество столбцов, и при каждом щелчке по столбцу содержимое этого столбца показано ниже. Как я могу заставить отображаемый контент занимать оставшуюся высоту, когда она видна, чтобы макет был отзывчивым? Можно ли использовать только css или мне нужно использовать js?Сделать загружаемое содержимое занимает оставшуюся высоту
$(document).ready(function() {
$('.column').on('click', function(e) {
$(this).find('.content').toggle();
$(this).toggleClass('active', 400);
});
});
#wrapper {
width: 100%;
margin: 0 auto;
position: relative;
}
.content {
position: absolute;
width: 100%;
color: #000;
left: 0;
top: auto;
display: none;
text-align: left;
border: 1px solid #000;
}
.column {
display: inline-block;
border: 1px solid #000;
width: 20%;
}
.column.active {
margin-bottom: 100px;
}
.toggle {
width: 25%;
height: 64px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="wrapper">
<div class="column">
<div class="toggle">1</div>
<div class="content">
<p>content 1</p>
</div>
</div>
<div class="column">
<div class="toggle">2</div>
<div class="content">
<p>content 2</p>
</div>
</div>
<div class="column">
<div class="toggle">3</div>
<div class="content">
<p>content 3</p>
</div>
</div>
</div>
Я создал fiddle того, что я сделал до сих пор.
Что вы имеете в виду под «оставшейся высоты»? Разделы контента будут расширяться, чтобы соответствовать размеру их содержимого. –
если вы установили '.column.active { margin-bottom: 100px; } ', тогда вы хотите установить' height: 100px; 'for' .content'? – Banzay
Я имею в виду высоту между каждой строкой с колонками. – jdo