JSFiddle - React, Tailwind, and code Playground

by Константин Дралюк

HTML

<div class="table">
  <div class="table__body">
    <div class="table__row -invalid">
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
    </div>
    <div class="table__row -focused">
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
    </div>
    <div class="table__row">
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
    </div>
    <div class="table__row">
      <div class="table__cell -invalid">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell -invalid">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
    </div>
    <div class="table__row -focused">
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
    </div>
    <div class="table__row">
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
    </div>
    <div class="table__row">
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
      <div class="table__cell">-</div>
    </div>
  </div>
</div>

SASS

html
  font-size: 10px
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif

*
  box-sizing: border-box

.table
  font-size: 1.4rem
  overflow: auto
  padding: 1px
  &__body
    display: flex
    flex-direction: column
  &__row
    display: flex
    margin: auto
    &:nth-child(odd)
      background: #f1f1f1
    &.-focused .table__cell
      border-top-color: blue
      border-bottom-color: blue
    &.-invalid .table__cell
      border-top-color: red
      border-bottom-color: red
      z-index: 2 // higher priority
  &__cell
    flex-shrink: 0
    display: flex
    align-items: center
    padding: 0 1rem
    height: 3.5rem
    margin: -.5px
    border: 1px solid transparent
    position: relative
    &:hover
      border-color: black
      z-index: 1
    &.-invalid
      border-color: red
      z-index: 2
    
    
// Remove as it should be set as inline style
.table__cell
  width: 12rem