Skip to content

Instantly share code, notes, and snippets.

@Kenan7
Created November 20, 2021 11:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kenan7/f05e6384df8a240597d708ddb734838f to your computer and use it in GitHub Desktop.
Save Kenan7/f05e6384df8a240597d708ddb734838f to your computer and use it in GitHub Desktop.
Modern Blog Layout with CSS Grid
<div class="blog">
<div class="blog-part is-menu">
<a href="#" class="blog-menu">
Work
<svg fill="none" stroke="currentColor" stroke-width=".7" stroke-linecap="round" stroke-linejoin="round" class="feather feather-arrow-up-right" viewBox="0 0 24 24">
<path d="M7 17L17 7M7 7h10v10" />
</svg>
</a>
<a href="#" class="blog-menu">Studio</a>
<a href="#" class="blog-menu">Blog</a>
<a href="#" class="blog-menu">Contact</a>
<a href="#" class="blog-menu mention">@MagazineDope</a>
<a href="#" class="blog-menu subscribe">Subscribe</a>
</div>
<div class="blog-header blog-is-sticky">
<div class="blog-article header-article">
<div class="blog-big__title">Self</div>
<div class="blog-menu rounded small-title">Pinned Issue</div>
</div>
<div class="blog-article page-number">
NO. 01
</div>
</div>
<div class="blog-header-container">
<div class="blog-header">
<div class="blog-article header-article">
<div class="blog-big__title">Esteem</div>
<div class="blog-menu small-title date">12.06.2021</div>
</div>
<div class="blog-article">
<img src="https://images.unsplash.com/photo-1496629062893-b0f566065d44?ixid=MnwxMjA3fDB8MHxzZWFyY2h8MjV8fGJsYWNrJTIwYW5kJTIwd2hpdGV8ZW58MHwwfDB8fA%3D%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60" alt="">
<h2>Sharing The <span>Widespread</span> Acclaim About Motivation</h2>
<div class="blog-detail">
<span>By Richard Carnation</span>
<span>5 Min Read</span>
</div>
<p>Blonde received widespread acclaim, with critics praising Ocean's introspective lyrics and the album's unconventional</p>
<a href="#">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-corner-down-right" viewBox="0 0 24 24">
<path d="M15 10l5 5-5 5" />
<path d="M4 4v7a4 4 0 004 4h12" />
</svg>
See More
</a>
</div>
</div>
<div class="blog-header">
<div class="blog-article header-article">
<div class="blog-big__title">Love</div>
<div class="blog-menu small-title date">12.06.2021</div>
</div>
<div class="blog-article">
<img src="https://images.unsplash.com/photo-1529255484355-cb73c33c04bb?ixid=MnwxMjA3fDB8MHxzZWFyY2h8OTh8fGJsYWNrJTIwYW5kJTIwd2hpdGV8ZW58MHwwfDB8fA%3D%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60" alt="">
<h2>Talking About <span>Vulnerability</span> During Quarantine</h2>
<div class="blog-detail">
<span>By Tom Hiddleston</span>
<span>5 Min Read</span>
</div>
<p>Having traveled to Turkey multiple times, with critics praising Ocean's introspective lyrics and the album's unconventional</p>
<a href="#">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-corner-down-right" viewBox="0 0 24 24">
<path d="M15 10l5 5-5 5" />
<path d="M4 4v7a4 4 0 004 4h12" />
</svg>
See More
</a>
</div>
</div>
<div class="blog-header">
<div class="blog-article header-article">
<div class="blog-big__title">Control</div>
<div class="blog-menu small-title date">12.06.2021</div>
</div>
<div class="blog-article">
<img src="https://images.unsplash.com/photo-1616248249518-b16013cd4e42?ixid=MnwxMjA3fDB8MHxzZWFyY2h8MTkzfHxibGFjayUyMGFuZCUyMHdoaXRlfGVufDB8MHwwfHw%3D&ixlib=rb-1.2.1&auto=format&fit=crop&w=500&q=60" alt="">
<h2>How 2020 Changed <span>Understanding</span> Of Mental Health</h2>
<div class="blog-detail">
<span>By Scarlett Witch</span>
<span>5 Min Read</span>
</div>
<p>Time is defines ad the indefinete continued progress, with critics praising Ocean's introspective lyrics and the album's</p>
<a href="#">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-corner-down-right" viewBox="0 0 24 24">
<path d="M15 10l5 5-5 5" />
<path d="M4 4v7a4 4 0 004 4h12" />
</svg>
See More
</a>
</div>
</div>
</div>
<div class="blog-part right-blog">
<marquee width="100%" direction="left">
<span>Now And Then You Miss It Sounds Make You Cry</span>
<span>Now In - MoMa Sharing Exhibition NOW</span>
<span>NYC Opens After Long Lockdown Check</span>
</marquee>
<div class="blog-right-title-container">
<div class="blog-right-title">
Featured Articles
</div>
<div class="blog-menu rounded">See All</div>
</div>
<div class="blog-right">
<div class="blog-right-container">
<div class="blog-title-date">
<div class="blog-right-page">1</div>
<div class="date">12.06.2021</div>
</div>
<div class="blog-right-page-title">Blonde - Widespread Acclaim</div>
<div class="blog-right-page-subtitle">Blonde received widespread acclaim, with critics praising Ocean's introspective lyrics and the album's</div>
</div>
<div class="blog-right-container">
<div class="blog-title-date">
<div class="blog-right-page">2</div>
<div class="date">12.06.2021</div>
</div>
<div class="blog-right-page-title">Introspective Lyrics and Beats</div>
<div class="blog-right-page-subtitle">When we toured Scotland we stopped at several selft-sealing hpuses because hotels would</div>
</div>
<div class="blog-right-container">
<div class="blog-title-date">
<div class="blog-right-page">3</div>
<div class="date">12.06.2021</div>
</div>
<div class="blog-right-page-title">The Language Of Gris: Comples Beauty Of Monochrome</div>
<div class="blog-right-page-subtitle">The interior concept was conceived of by Dutch archtitect Studio Anne Holtrop who cleverly emulated</div>
</div>
<div class="blog-right-container">
<div class="blog-title-date">
<div class="blog-right-page">4</div>
<div class="date">12.06.2021</div>
</div>
<div class="blog-right-page-title">A24 IS LAUNCHING ITS OWN BEAUTY BRAND</div>
<div class="blog-right-page-subtitle">Blonde received widespread acclaim, with critics praising Ocean's introspective lyrics and the album's</div>
</div>
<div class="blog-right-container">
<div class="blog-title-date">
<div class="blog-right-page">5</div>
<div class="date">12.06.2021</div>
</div>
<div class="blog-right-page-title">Elon Musk's SpaceX is launching a moon satellite</div>
<div class="blog-right-page-subtitle">The interior concept was conceived of by Dutch archtitect Studio Anne Holtrop who cleverly emulated</div>
</div>
<div class="blog-right-container">
<div class="blog-title-date">
<div class="blog-right-page">6</div>
<div class="date">12.06.2021</div>
</div>
<div class="blog-right-page-title">What Happens When You Leave Your Old life Behind</div>
<div class="blog-right-page-subtitle">The interior concept was conceived of by Dutch archtitect Studio Anne Holtrop who cleverly emulated</div>
</div>
<div class="circle">
<div class="circle-title">Leave Your Old Life Behind</div>
<div class="circle-subtitle">Don't try to be like someone else, be yourself. Be secure with yourself.</div>
<div class="circle-footer">Explore</div>
</div>
</div>
</div>
</div>
@import url("https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@1,400;1,500&family=Inter:wght@300;400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap");
* {
outline: none;
box-sizing: border-box;
}
html {
box-sizing: border-box;
-webkit-font-smoothing: antialiased;
}
img {
max-width: 100%;
}
$title-font: "Space Grotesk", sans-serif;
$subtitle-font: "Inter", sans-serif;
$italic-font: "Playfair Display", serif;
$blog-bg: #e9e6e4;
$body-bg: #121418;
$title-color: #121418;
$subtitle-color: #161419;
$border-color: #94918f;
body {
background-color: $body-bg;
display: flex;
font-family: $subtitle-font;
justify-content: center;
align-items: center;
flex-direction: column;
width: 100%;
padding: 0 2em;
font-weight: 400;
height: 100vh;
@media screen and (max-width: 768px) {
padding: 0;
}
}
.blog {
background-color: $blog-bg;
max-width: 1350px;
display: grid;
height: 90vh;
max-height: 800px;
overflow: hidden;
grid-template-columns: 15% 20% 35% 30%;
grid-template-rows: 100%;
width: 100%;
padding: 40px 4px;
position: relative;
@media screen and (max-width: 1030px) {
grid-template-columns: 20% 50% 30%;
}
@media screen and (max-width: 768px) {
grid-template-columns: 25% 75%;
width: 100%;
max-width: none;
}
@media screen and (max-width: 560px) {
grid-template-columns: 100%;
}
&-part {
padding: 0 20px;
&:not(:last-child) {
border-right: 1px solid $border-color;
}
}
&-menu {
font-size: 22px;
text-decoration: none;
color: $subtitle-color;
display: flex;
letter-spacing: -0.5px;
align-items: center;
@media screen and (max-width: 1260px) {
font-size: 1.6vw;
}
svg {
width: 22px;
margin-left: 4px;
}
& + & {
margin-top: 24px;
}
&.mention {
margin-top: auto;
font-size: 19px;
@media screen and (max-width: 1260px) {
font-size: 1.4vw;
}
}
&.subscribe {
margin-top: 8px;
font-size: 19px;
position: relative;
@media screen and (max-width: 1260px) {
font-size: 1.4vw;
}
&:before {
content: "";
width: 16px;
height: 16px;
background-color: $subtitle-color;
left: 0;
border-radius: 1px;
margin-right: 14px;
}
}
&.rounded {
&:before {
content: "";
border-radius: 50%;
width: 12px;
height: 12px;
background-color: $subtitle-color;
margin-right: 12px;
}
}
}
.is-menu {
display: flex;
flex-direction: column;
@media screen and (max-width: 1030px) {
display: none;
}
}
&-big__title {
font-size: 132px;
font-family: $title-font;
font-weight: 700;
letter-spacing: -5px;
line-height: 1;
margin-bottom: 6px;
@media screen and (max-width: 1400px) {
font-size: 120px;
}
@media screen and (max-width: 1260px) {
font-size: 9vw;
letter-spacing: -2px;
}
@media screen and (max-width: 560px) {
font-size: 36px;
margin-bottom: 12px;
}
}
&-header {
display: flex;
flex-direction: column;
}
&-article {
padding: 0 20px;
img {
height: 260px;
max-height: 22vh;
width: 100%;
object-fit: cover;
filter: grayscale(1);
}
}
}
.page-number {
display: flex;
flex-direction: column;
justify-content: flex-end;
height: 100%;
font-size: 72px;
text-align: center;
letter-spacing: -3px;
font-weight: lighter;
font-family: $title-font;
border-right: 1px solid $border-color;
white-space: nowrap;
@media screen and (max-width: 1260px) {
font-size: 5vw;
}
}
.small-title {
border-bottom: 1px solid $border-color;
margin-bottom: 20px;
padding-bottom: 20px;
@media screen and (max-width: 560px) {
font-size: 14px;
position: absolute;
top: 10px;
right: 24px;
border-bottom: 0;
}
}
.date {
display: flex;
justify-content: flex-end;
}
.blog-article {
h2 {
font-size: 26px;
font-weight: 500;
line-height: 1.2;
margin: 8px 0 8px;
span {
font-family: $italic-font;
}
}
p {
line-height: 1.5;
margin: 14px 0;
}
a {
color: $subtitle-color;
text-decoration: none;
font-size: 26px;
letter-spacing: -1px;
display: flex;
justify-content: flex-end;
align-items: center;
margin-top: auto;
border-top: 1px solid $border-color;
padding-top: 14px;
svg {
width: 26px;
margin-right: 10px;
}
}
}
.blog-detail {
display: flex;
align-items: center;
justify-content: space-between;
font-size: 14px;
span {
font-family: $italic-font;
}
}
.blog-header-container {
overflow-y: auto;
overflow-x: hidden;
height: 100%;
display: flex;
flex-direction: column;
scroll-snap-type: y mandatory;
border-right: 1px solid $border-color;
@media screen and (max-width: 768px) {
border-right: 0;
}
& > * {
flex-shrink: 0;
min-height: 100%;
scroll-snap-align: start;
}
.blog-article:not(.header-article) {
flex-grow: 1;
display: flex;
flex-direction: column;
}
}
marquee {
font-size: 20px;
background-color: $body-bg;
color: $blog-bg;
padding: 6px 0;
width: calc(100% + 44px);
margin-left: -20px;
flex-shrink: 0;
span:before {
display: inline-block;
content: "";
border-radius: 50%;
width: 10px;
height: 10px;
position: relative;
top: -1px;
vertical-align: baseline;
background-color: $blog-bg;
margin: 0 16px;
}
}
.blog-right {
overflow: auto;
height: calc(100% + 60px);
.rounded {
font-style: italic;
font-size: 18px;
&:before {
content: "";
border-radius: 50%;
width: 9px;
height: 9px;
background-color: rgb(22 20 25);
margin-right: 6px;
}
}
}
.blog-right-title {
font-size: 25px;
font-family: $italic-font;
}
.blog-right-title-container {
display: flex;
align-items: center;
justify-content: space-between;
border-bottom: 1px solid $border-color;
margin-bottom: 20px;
padding-bottom: 20px;
margin-top: 100px;
letter-spacing: -1px;
@media screen and (max-width: 1400px) {
margin-top: 88px;
}
@media screen and (max-width: 1260px) {
margin-top: 6vw;
}
@media screen and (max-width: 1030px) {
margin-top: 5vw;
}
}
.blog-title-date {
display: flex;
align-items: baseline;
justify-content: space-between;
}
.blog-right-page {
font-size: 56px;
margin-bottom: 16px;
font-family: $title-font;
&-title {
font-family: $title-font;
font-size: 28px;
font-weight: 600;
max-width: 16ch;
letter-spacing: -2px;
}
&-subtitle {
max-width: 33ch;
font-size: 15px;
margin-top: 12px;
line-height: 1.4;
}
}
.blog-right-container + .blog-right-container {
margin-top: 40px;
}
.right-blog {
display: flex;
flex-direction: column;
@media screen and (max-width: 768px) {
display: none;
}
.blog-menu {
@media screen and (max-width: 1030px) {
display: none;
}
}
}
::-webkit-scrollbar {
display: none;
}
.circle {
width: 100%;
aspect-ratio: 1/1;
border-radius: 50%;
background-color: $body-bg;
display: flex;
align-items: center;
flex-direction: column;
justify-content: center;
color: $blog-bg;
padding: 20px;
text-align: center;
margin-top: 40px;
&-title {
font-size: 24px;
font-weight: 600;
margin-bottom: 12px;
font-family: $title-font;
@media screen and (max-width: 1030px) {
display: none;
}
}
&-subtitle {
max-width: 30ch;
font-size: 14px;
line-height: 1.3;
margin-bottom: 16px;
}
&-footer {
font-family: $italic-font;
font-size: 30px;
}
}
.blog-is-sticky {
@media screen and (max-width: 560px) {
display: none;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment