Design by Irakli Nadirashvili https://dribbble.com/shots/15656415-Blog-Self-Control
Created
November 20, 2021 11:06
-
-
Save Kenan7/f05e6384df8a240597d708ddb734838f to your computer and use it in GitHub Desktop.
Modern Blog Layout with CSS Grid
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<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> |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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