JSFiddle - React, Tailwind, and code Playground
HTML
<body>
<ul id="main">
<li class="list" style="background-color:#fed">
<h2>To do <em>(2)</em></h2>
<ul class="tasks">
<li class="task">Drink coffee</li>
<li class="task">Go to work</li>
</ul>
</li>
<li class="list" style="background-color:#edf">
<h2>Doing <em>(4)</em></h2>
<ul class="tasks">
<li class="task">Get dressed</li>
<li class="task">Read the newspaper</li>
<li class="task">Send a text message to mom</li>
<li class="task">Fix world hunger</li>
</ul>
</li>
<li class="list" style="background-color:#dfe">
<h2>Done <em>(3)</em></h2>
<ul class="tasks">
<li class="task">Wake up</li>
<li class="task">Select clothes to wear for important meeting</li>
<li class="task">Put on some deodorant</li>
</ul>
</li>
</ul>
CSS
html, body, #main {
margin: 0;
padding: 0;
overflow: hidden;
display: block;
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
}
#main {
display: flex;
overflow-x: auto;
overflow-y: hidden;
font-family: 'Cambria';
white-space: nowrap;
}
ul, li {
display: flex;
flex-wrap: nowrap;
justify-content: flex-start;
list-style: none none inside;
margin: 5px;
padding: 5px;
}
.group, .list, .task {
box-shadow: rgba(0, 0, 0, 0.5) 0 2px 3px;
border-radius: 5px;
}
.group, .list, .tasks {
flex-direction: column;
}
.list {
flex-grow: 1;
flex-wrap: nowrap;
}
h1, h2 {
flex-grow: 0;
margin: 0;
padding: 0;
}
h1 {
font-size: 21px;
}
h2 {
font-size: 16px;
}
.tasks {
flex-wrap: wrap;
flex-grow: 1;
}
.task {
background-color: #f3f3f3;
width: 250px;
white-space: normal;
cursor: move;
}
.task:hover {
background-color: #fff;
}