Quantcast
Channel: Active questions tagged flexbox - Stack Overflow
Viewing all articles
Browse latest Browse all 1326

Flexbox child container exceeds height of parent [duplicate]

$
0
0

I am attempting to create a vertical scroll menu within a "panel" which sits in an app dashboard. As seen in the snippet below (where I added an excessive amount of children), the content always exceeds the size of the container. I have tried multiple combinations of flex sizing, using min-height: 0, and other tricks to no avail.

This is particularly frustrating for me because I have been able to solve this issue in other parts of my dashboard, but this particular container continues to elude my solutions.

#sensor-list-subpanel {    flex: 40;    min-height: 0;}#sensor-list-container {    display: flex;    flex-direction: column;    gap: 10px;    height: 100%;    overflow-y: auto;}#sensor-cards {    display: flex;    flex-direction: column;    gap: 5px;}#sensor-description-subpanel {    display: flex;    flex-direction: column;    gap: 10px;    flex: 60;}#event-panel {    height: 400px;    min-height: 0;}#event-panel-container {    display: flex;    flex-direction: column;    gap: 15px;    height: 100%;}#event-header-time {    font-family: monospace;    font-weight: bold;    font-size: 0.9rem;}#sensor-panels-container {    display: flex;    flex-direction: row;    gap: 20px;    flex: 1;}#sensor-panels-container > * {    padding-bottom: 0;    padding-right: 0;}#sensor-panels-container > * > * {    /* scroll bar alignment */    padding-bottom: 10px;    padding-right: 10px;}.panel {    border-radius: 10px;    background-color: gray;    padding: 20px;}.panel.subpanel {    background-color: white;}.panel.compact {    padding: 10px;}.card {    border-radius: 10px;    margin: 3px;  /* compensate for outline border */}.card.selected {    background-color: lightgreen;    outline: 3px solid green;    /* outline, rather than border, will allow smooth transitions without resizing */}.card:hover {    filter: brightness(95%);    cursor: pointer;    transition: all 0.2s ease;}.overflow-ellipsis {    white-space: nowrap;    overflow: hidden;    text-overflow: ellipsis;}.sensor-card {    padding: 6px 12px;    outline: 3px solid var(--border-subcard);    background-color: var(--bg-subcard);    cursor: pointer;}.sensor-card-details {    display: grid;    grid-template-columns: 15px auto;    gap: 2px 5px;}
<div id="event-panel" class="panel"><div id="event-panel-container"><div style="display: flex; flex-direction: row; align-items: center; gap: 15px;"><span>(icon)</span><div style="display: flex; flex-direction: row; align-items: baseline; gap: 0.5rem;"><h1>HEADER</h1><p id="event-header-time">(time)</p></div></div><div id="sensor-panels-container"><div class="panel subpanel compact" id="sensor-list-subpanel"><div id="sensor-list-container"><h5 class="note">LABEL</h5><div id="sensor-cards"><div class="card sensor-card selected"><div class="sensor-card-details"><span>(i)</span><span class="b overflow-ellipsis">NAME</span><span>(v)</span><span class="note">(n) meters</span></div></div><div class="card sensor-card"><div class="sensor-card-details"><span>(i)</span><span class="b overflow-ellipsis">NAME</span><span>(v)</span><span class="note">(n) meters</span></div></div><div class="card sensor-card"><div class="sensor-card-details"><span>(i)</span><span class="b overflow-ellipsis">NAME</span><span>(v)</span><span class="note">(n) meters</span></div></div><div class="card sensor-card"><div class="sensor-card-details"><span>(i)</span><span class="b overflow-ellipsis">NAME</span><span>(v)</span><span class="note">(n) meters</span></div></div><div class="card sensor-card"><div class="sensor-card-details"><span>(i)</span><span class="b overflow-ellipsis">NAME</span><span>(v)</span><span class="note">(n) meters</span></div></div><div class="card sensor-card"><div class="sensor-card-details"><span>(i)</span><span class="b overflow-ellipsis">NAME</span><span>(v)</span><span class="note">(n) meters</span></div></div><div class="card sensor-card"><div class="sensor-card-details"><span>(i)</span><span class="b overflow-ellipsis">NAME</span><span>(v)</span><span class="note">(n) meters</span></div></div></div></div></div><div class="panel subpanel" id="sensor-description-subpanel"><div style="display: flex; flex-direction: row; align-items: center; gap: 10px;"><span>(icon)</span><h2>NAME</h2></div></div></div></div></div>

I attempted to create a representative snippet demonstrating the problem.


Viewing all articles
Browse latest Browse all 1326

Trending Articles