<div class="app-layout">
<div class="teams box">Teams</div>
<div class="channels box">Channels</div>
<div class="header box">Header</div>
<div class="messages box">
<ul class="message-list">
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
<li></li>
</ul>
</div>
<div class="input box">
<input type="text" placeholder="Have you tried the CSS Grid Layout Module?">
</div>
</div>
*,
*:before,
*:after {
box-sizing: border-box;
}
body {
margin: 0;
font-family: Arial;
background-color: #f2f2f2;
}
.box {
color: #fff;
padding: 1em;
text-align: center;
}
input {
width: 100%;
padding: 1em;
outline: none;
border: 1px solid #f2f2f2;
}
.message-list {
margin: 0;
padding: 0;
}
.message-list li {
padding: .2em;
margin-top: 1em;
margin-bottom: 1em;
background-color: #f2f2f2;
}
.header {
background-color: #ffffff;
}
.teams {
background-color: #362233;
}
.channels {
background-color: #52364E;
}
.messages {
background-color: #ffffff;
}
.write {
background-color: #f2f2f2;
}
/* Grid Layout Code */
.app-layout {
display: grid;
height: 100vh;
grid-template-columns: 100px 250px 1fr;
grid-template-rows: auto 1fr auto;
grid-template-areas: "teams channels header" "teams channels messages" "teams channels input";
}
.teams {
grid-area: teams;
}
.channels {
grid-area: channels;
}
.header {
grid-area: header;
color: #333;
border-bottom: 1px solid #f2f2f2;
}
.messages {
grid-area: messages;
padding: 0 1em;
overflow-y: scroll;
}
.input {
grid-area: input;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.