I am attempting to create a layout that consists of:
- A row with a fixed height of 3em
- A second row that will expand to take up the remaining available space, anywhere from almost 100% to 0%
- A third row with a fixed height of 3em
My goal is to achieve a similar design to the Github project view, where the space for tasks/issues dynamically changes in height, but the header and add item button always have a fixed height:
https://i.sstatic.net/YTy7k.png
https://i.sstatic.net/HBVXu.png
https://i.sstatic.net/WwRgZ.png
https://i.sstatic.net/qBRvV.png
The issue I am facing is that while working on this project mainly as a backend endeavor, my frontend skills are not as strong. This has resulted in some errors and difficulty expressing my exact problem. The solution I tried (which did not work) looked like this:
.issue-board .state-column {
background-color: aquamarine;
min-width: 15em;
max-width: 15em;
}
.issue-board .state-column-header {
background-color: azure;
height: 3em;
}
.issue-board .state-issues {
background-color: beige;
height: 80%;
overflow: auto;
}
.issue-board .state-add-issue {
background-color: bisque;
height: 3em;
}
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/<a href="/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d0b2bfbfa4a3a4a2b1a090e5fee2fee2">[email protected]</a>/dist/css/bootstrap.min.css" integrity="sha384-Zenh87qX5JnK2Jl0vWa8Ck2rdkQ2Bzep5IDxbcnCeuOxjzrPF/et3URy9Bv1WTRi" crossorigin="anonymous">
<div class="col-3 state-column border-1 border-primary h-100">
<div class="container-fluid h-100">
<div class=" row flex-shrink-0 state-column-header border-bottom border-primary justify-text-center m-2">
<div class="col">
<h3>New</h3>
</div>
</div>
<div class="row flex-shrink-1 state-issues">
<div class="col overflow-auto">
<ul>
<li>dsafadsf</li>
</ul>
</div>
</div>
<div class="row flex-shrink-0 state-add-issue">
<div class="col">
<button class="btn">Add Item</button>
</div>
</div>
</div>
</div>
<div class="col-3 state-column border-1 border-primary h-100">
<div class="d-flex flex-column h-100">
<div class="flex-shrink-0 state-column-header m-2">
<h3>New</h3>
</div>
<div class="flex-shrink-1 state-issues">
<ul>
<li>dsafadsf</li>
</ul>
</div>
<div class="flex-shrink-0 state-add-issue">
<button class="btn">Add Item</button>
</div>
</div>
</div>