<body>
<header class="header">
This is header
</header>
<div class="banner">
<h1 class="banner__heading">Marshmallow caramels candy</h1>
<p class="banner__text">Cake chupa chups marshmallow chocolate bar jelly bear claw. Biscuit pie icing carrot cake apple pie gingerbread jujubes jelly brownie. Jelly-o marshmallow powder caramels soufflé cake cheesecake. Candy canes cupcake cake chocolate bar.</p>
</div>
<main class="main-content">
<article class="post">
<img class="post__image" src="http://via.placeholder.com/140x100/89bebe/004848">
<h3 class="post__heading">Chupa chups bar</h3>
<p class="post__excerpt">Cake chupa chups bar jelly bear claw.</p>
</article>
<article class="post">
<img class="post__image" src="http://via.placeholder.com/140x100/89bebe/004848">
<h3 class="post__heading">Chupa chups bar</h3>
<p class="post__excerpt">Cake chupa chups bar jelly bear claw.</p>
</article>
<article class="post">
<img class="post__image" src="http://via.placeholder.com/140x100/89bebe/004848">
<h3 class="post__heading">Chupa chups bar</h3>
<p class="post__excerpt">Cake chupa chups bar jelly bear claw.</p>
</article>
<article class="post">
<img class="post__image" src="http://via.placeholder.com/140x100/89bebe/004848">
<h3 class="post__heading">Chupa chups bar</h3>
<p class="post__excerpt">Cake chupa chups bar jelly bear claw.</p>
</article>
<article class="post">
<img class="post__image" src="http://via.placeholder.com/140x100/89bebe/004848">
<h3 class="post__heading">Chupa chups bar</h3>
<p class="post__excerpt">Cake chupa chups bar jelly bear claw.</p>
</article>
</main>
<ul class="menu">
<li class="menu__item">chocolate</li>
<li class="menu__item">brownie</li>
<li class="menu__item">biscuit</li>
<li class="menu__item">pie</li>
<li class="menu__item">cupcake</li>
<li class="menu__item">macaroon</li>
</ul>
<footer class="footer">
This is footer
</footer>
</body>
:root {
--body-bg: #1D7A7A;
--menu-item-bg: #8FB7B7;
--menu-item-bd: #CC7630;
--banner-bg: #89BEBE;
--content-bg: #89BEBE;
--menu-bg: #89BEBE;
--post-bg: #FFE0C7;
--post-bg: #ABDBAB;
--post-bd: #CC7630;
--header-bg: #1D7A7A;
--footer-bg: #89BEBE;
--font-primary: #004848;
--font-secondary: #8FB7B7;
}
body,
* {
box-sizing: border-box;
color: var(--font-primary);
font-family: 'Verdana';
}
body,
h1,
h3,
p,
ul {
margin: 0;
}
ul {
list-style: none;
}
li {
padding: 5px;
background-color: var(--menu-item-bg);
text-align: center;
text-transform: uppercase;
box-shadow: 1px 1px 2px;
}
.header,
.banner,
.main-content,
.menu,
.footer {
padding: 10px;
background-color: var(--grid-item-bg);
}
.header {
background-color: var(--header-bg);
color: var(--font-secondary);
}
.banner {
background-color: var(--banner-bg);
}
.main-content {
background-color: var(--content-bg);
}
.menu {
background-color: var(--footer-bg);
}
.footer {
background-color: var(--footer-bg);
}
.banner__heading {
margin-bottom: 10px;
text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25);
}
/* body grid: */
body {
display: grid;
height: 100vh;
background-color: var(--body-bg);
grid-template-columns: 5fr minmax(auto, 1fr);
grid-template-rows: auto auto 1fr auto;
grid-template-areas:
"header header"
"banner menu"
"content menu"
"footer footer";
grid-gap: 3px;
}
.header {
grid-area: header;
}
.banner {
grid-area: banner;
text-align: center;
}
.main-content {
grid-area: content;
display: grid;
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
grid-gap: 10px;
}
.menu {
grid-area: menu;
height: 100%;
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto;
grid-gap: 10px;
}
.menu__item {
display: grid;
align-content: center;
}
.footer {
grid-area: footer;
}
@media screen and (max-width: 1000px) {
body {
grid-template-columns: 1fr;
grid-template-rows: auto auto auto 1fr auto;
grid-template-areas:
"header"
"banner"
"menu"
"content"
"footer";
}
.menu {
grid-template-columns: repeat(6, 1fr);
}
}
@media screen and (max-width: 700px) {
body {
grid-template-columns: 4fr minmax(auto, 1fr);
grid-template-rows: auto auto 1fr auto auto;
grid-template-areas:
"header header"
"banner menu"
"content content"
"footer footer";
}
.menu {
grid-template-columns: 1fr;
}
}
@media screen and (max-width: 425px) {
body {
grid-template-columns: 1fr;
grid-template-rows: auto auto 1fr auto auto;
grid-template-areas:
"header"
"banner"
"content"
"menu"
"footer";
}
}
/* post grid */
.post {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto auto auto;
grid-template-areas:
"heading"
"image"
"excerpt";
padding: 10px;
background-color: var(--post-bg);
text-align: center;
grid-gap: 10px;
align-content: center;
box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.5);
}
@media screen and (max-width: 700px) {
.post {
grid-template-columns: auto 1fr;
grid-template-rows: auto 1fr;
grid-template-areas:
"image heading"
"image excerpt";
text-align: left;
}
}
.post__heading {
grid-area: heading;
}
.post__image {
grid-area: image;
align-self: center;
justify-self: center;
box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.5);
}
.post__excerpt {
grid-area: excerpt;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.