JSFiddle - React, Tailwind, and code Playground
by mkirkland616
HTML
<div class="left-pane">
<div class="tab">
<input id="tab1" type="radio" name="toggle" checked="checked">
<label>Tab 1</label>
<div class="wrapper">
<div class="content">
<div>asdasd 1111</div>
<div>asdasd 2222</div>
<div>asdasd 3333</div>
<div>asdasd 4444</div>
<div>asdasd 5555</div>
<div>asdasd 6666666666666666666666166666666666</div>
</div>
</div>
</div>
<div class="tab">
<input id="tab2" type="radio" name="toggle">
<label>Tab 2</label>
<div class="wrapper">
<div class="content">
<div>asdasd 7777</div>
<div>asdasd 8888</div>
<div>asdasd 9999</div>
</div>
</div>
</div>
</div>
CSS
.left-pane {
width: 240px;
height: 98vh;
background: #252525;
height: calc(100vh - 40px);
color: white;
}
.left-pane div.tab input[type='radio'] {
/* position: absolute;
opacity: 0; */
}
input[type='radio']:checked ~ .wrapper .content {
height: calc(100vh - 150px);
}
.left-pane div.tab label {
position: relative;
display: block;
height: 30px;
line-height: 30px;
padding: 0 20px;
font-size: 14px;
font-weight: bold;
color: rgba(255, 255, 255, 0.5);
background: #434343;
cursor: pointer;
}
.left-pane div.tab label:hover {
background: #737173;
}
.left-pane div.tab {
margin-bottom: 1px;
}
.wrapper {
overflow: auto;
}
.content {
height: 0;
overflow: auto;
display: inline-block;
min-width: 100%;
}
.content div {
white-space: nowrap;
margin-left: 10px;
}
.content div:hover {
cursor: pointer;
background: grey;
}