JSFiddle - React, Tailwind, and code Playground
HTML
<div class="row">
<div class="bar program">
Program
</div>
</div>
<div class="row">
<div class="bar module">
Module
</div><div class="bar module-minor">Module</div><div class="bar module-minor">Module</div><div class="bar module-minor">Module</div><div class="bar module-minor">Module</div><div class="bar module-minor">...</div>
</div>
<div class="row">
<div class="bar header">
Header
</div><div class="bar section">Ordered Sections</div>
</div>
<div class="row"><div class="bar magic">Magic</div><div class="bar version">0x1</div><div class="bar s bar-stype">1</div><div class="bar s bar-itype">2</div><div class="bar s bar-stype">3</div><div class="bar s bar-itype">4</div><div class="bar s bar-stype">5</div><div class="bar s bar-itype">6</div><div class="bar s bar-itype">7</div><div class="bar s bar-itype">8</div><div class="bar s bar-itype">9</div><div class="bar s bar-itype">10</div><div class="bar s bar-itype">11</div></div>
<div class="row">
<div class="bar" style="width: 10%; border-right: none;"></div><div class="bar type">Type</div><div class="bar type">Import</div><div class="bar type">Function</div><div class="bar type">Table</div><div class="bar type">LinearMemory</div><div class="bar type">Global</div><div class="bar type">Export</div><div class="bar type">Start</div><div class="bar type">Element</div><div class="bar type">Code</div><div class="bar type">Data</div>
</div>
CSS
* {
box-sizing: border-box;
}
body {
font-family: Georgia;
margin: 10px;
padding: 0;
}
.row {
line-height: 45px;
}
.row > div {
border-right: 1px solid black;
}
div {
margin: 0;
padding: 0;
}
.bar {
height: 2em;
padding-top: 1rem;
text-align: center;
font-size: 1.5em;
margin: 0;
padding: 0;
display: inline-block;
overflow: hidd
}
.program {
background-color: green;
width: 100%;
}
.module {
background-color: #bbb;
width: 50%;
}
.module-minor {
background-color: #bbb;
width: 10%;
}
.header {
background-color: #ddd;
width: 10%;
}
.section {
background-color: orange;
width: 40%;
}
.version {
width: 5%;
border-bottom: 2px solid black;
background-color: yellow;
}
.s {
width: calc(40% / 11);
}
.magic {
background: linear-gradient(45deg, blue, red, orange);
color: white;
width: 5%;
border-bottom: 2px solid black;
}
.type {
height: 200px;
width: calc(40% / 11);
writing-mode: vertical-lr;
border-right: none !important;
border-left: 1px solid black;
transform: rotate(-45deg) translate(78px, 10px);
text-align: center;
}