JSFiddle - React, Tailwind, and code Playground

HTML

<div id="top">
    <div id="menu">menu</div>
    <div id="ribbon">ribbon</div>
</div>
<div id="main">
    <div id="leftbar">left</div>
    <div id="list">list</div>
    <div id="view">view</div>
    <div id="rightbar">right</div>
</div>
<div id="bottom">zzz</div>

CSS

body, html {
    height: 100%;
    width: 100%;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

div {
    position: absolute;
    outline: 1px solid red;
    overflow: auto;
}

#top {
    left: 0;
    top: 0;
    right: 0;
    height: 200px;
}

#menu {
    left: 0;
    top: 0;
    right: 0;
    height: 50px;
    background: yellow;
}

#ribbon {
    left: 0;
    top: 50px;
    right: 0;
    height: 150px;
    background: orange;
}

#main {
    background: green;
    left: 0;
    top: 200px;
    right: 0;
    bottom: 100px;
}

#main > * {
    top: 0;
    bottom: 0;
}

#leftbar {
    left: 0;
    width: 200px;
    background: purple;
}

#list {
    left: 200px;
    width: 200px;
    background: silver;
}

#view {
    left: 400px;
    right: 200px;
    background: teal;
}

#rightbar {
    right: 0;
    width: 200px;
    background: gold;
}

#bottom {
    background: blue;
    left: 0;
    bottom: 0;
    right: 0;
    height: 100px;
}