JSFiddle - React, Tailwind, and code Playground
by DugSohn
HTML
<header class="StickyHeader">
I'm Sticky
</header>
<main class="StickyContent">
<div class="sidebar-left">
Toolbar
</div>
<div class="content-right">
<h1>HTML Ipsum Presents</h1>
<p><strong>Pellentesque habitant morbi tristique</strong> senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. <em>Aenean ultricies mi vitae est.</em> Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, <code>commodo vitae</code>, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. <a href="#">Donec non enim</a> in turpis pulvinar facilisis. Ut felis.</p>
<h2>Header Level 2</h2>
<ol>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
<li>Aliquam tincidunt mauris eu risus.</li>
</ol>
<blockquote><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.</p></blockquote>
<h3>Header Level 3</h3>
<ul>
<li>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</li>
<li>Aliquam tincidunt mauris eu risus.</li>
</ul>
<pre><code>
#header h1 a {
display: block;
width: 300px;
height: 80px;
}
</code></pre> </div>
</main>
<footer class="StickyFooter">
I'm Sticky
</footer>
CSS
html, body {
height: 100%;
min-height: 100%;
overflow: hidden;
padding: 0;
margin: 0;
}
body {
display: flex;
flex-direction: column;
}
.StickyHeader, .StickyFooter {
flex: 0 0 auto;
padding: 20px;
background: gray;
box-sizing: content-box;
}
.StickyContent {
flex: 1 1 auto;
overflow-y: hidden;
background: white;
display: flex;
}
.sidebar-left {
flex: 0 0 260px;
background: gray;
padding:20px;
box-sizing: border-box;
overflow-y: scroll;
}
.content-right {
flex: 1 1 auto;
background: white;
padding:20px;
overflow-y: scroll;
}