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;
  }