JSFiddle - React, Tailwind, and code Playground
by carsont
HTML
<div class="day-calendar">
<div class="hour">
<div class="time">
00
</div>
<div class="hour-chunks">
<div class="hour-container">
<div class="event event-1">
Large item
</div>
<div class="event event-2">
Second
</div>
<div class="event event-1">
Third
</div>
<div class="event event-1">
Fourth
</div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="hour">
<div class="time">
01
</div>
<div class="hour-chunks">
<div class="hour-container">
<div class="event event-1">
</div>
<div class="event event-1">
</div>
<div class="event event-1">
</div>
<div class="event event-1">
</div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="hour">
<div class="time">
02
</div>
<div class="hour-chunks">
<div class="hour-container">
<div class="event event-1">
</div>
<div class="event event-1">
</div>
<div class="event event-1 empty-event">
</div>
<div class="event event-1 empty-event">
</div>
</div>
</div>
<div class="clear"></div>
</div>
<div class="hour">
<div class="time">
03
</div>
<div class="hour-chunks">
<div class="hour-container">
<div class="event event-1">
</div>
<div class="event event-1">
</div>
<div class="event event-1 empty-event">
</div>
<div class="event event-1 empty-event">
</div>
</div>
</div>
...
CSS
body {
margin:0;
padding: 0;
}
.hour {
border-top: thin solid #CECECE;
}
.time {
float: left;
width: 58px;
text-align: center;
}
.event {
/*display: inline-block;*/
margin: 0px 2px 0px 2px;
/*border: thin solid black;*/
flex-grow: 2;
width: 0;
}
/* 60px / 1 - 2px */
.event-1 {
height: 58px;
}
/* 60px / 2 - 2px */
.event-2 {
height: 28px;
}
/* 60px / 4 - 2px */
.event-4 {
height: 13px;
}
.day-calendar {
border-top: thin solid #CECECE;
border-bottom: thin solid #CECECE;
}
.clear {
clear: both;
}
.hour-container {
display: flex;
}
.empty-event {
background-color: rgba(0,0,0,0) !important;
}
.event:nth-child(1) {
background-color: teal;
/*background-color: #F7F7FC;*/
}
.event:nth-child(2) {
background-color: #A767FC;
}
.event:nth-child(3) {
background-color: #F70AFC;
}
.event:nth-child(4) {
background-color: aqua;
}
.hour-chunks {
float: right;
width: calc(100% - 60px);
/*border: thin solid green;*/
min-height: 60px;
/*max-height: 60px;
overflow-y: auto;*/
border-left: thin solid #CECECE;
position: relative;
font: 400 8pt "Open Sans",sans-serif;
}
.hour-chunks:after {
position: absolute;
top: 50%;
width: calc(100% - 2px);
content: "";
z-index: -1;
border: thin dotted #EDECEC;
}