blog/src/theme/BlogPosts/style.module.scss (261 lines of code) (raw):

/* stylelint-disable no-descending-specificity, scss/at-extend-no-missing-placeholder */ @import "../../css/util"; @mixin bigSize { grid-column: 1 / 3; display: flex; filter: none; margin-top: 0; align-items: center; & > a { border-radius: 1rem; width: fit-content; flex-shrink: 0; span { display: block !important; width: fit-content !important; height: fit-content !important; } img { display: block; width: 605px; height: auto; transition: all 0.25s ease-in-out; } } .content { padding: 1rem 2rem; header { &::before { content: "FEATURED POST"; font-size: 0.7rem; font-weight: 800; } & .tags > a { font-size: 0.8rem; } h2 { font-size: 2.55rem; } p { font-size: 1.2rem; } } } &:hover { border-color: transparent; transform: none; & > a { img { transform: scale3d(1.2, 1.2, 1) rotate3d(0, 0, 1, -2deg); } } } } .normalPage { $width: 430px; width: fit-content; display: grid; grid-template-columns: repeat(3, min($width, 30%)); margin: 5rem auto 0; align-items: start; font-family: apple-system, system-ui, sans-serif; row-gap: 3rem; justify-content: space-between; article { border-radius: 1rem; overflow: hidden; border: 2px solid transparent; transition: all 0.3s ease-in-out; & > a { width: 100%; height: 100%; overflow: hidden; span { width: fit-content !important; } img { object-fit: cover; max-width: 100%; width: $width !important; transform-origin: center center; transition: all 0.3s ease-in-out !important; html[data-theme="dark"] & { filter: brightness(0.85); } } } & .content { padding: 0 1rem 1rem; header { & .tags { display: flex; justify-content: flex-start; overflow: hidden; text-overflow: ellipsis; margin: 0.8rem 0; & > a { color: var(--ifm-link-color); margin-right: 0.5rem; text-transform: uppercase; font-size: 0.66rem; &:hover { opacity: 0.6; } } } h2 { font-size: 1.375rem; line-height: 1.2em; margin-top: 0.8rem; margin-bottom: 0.5em; transition: all 0.3s ease-in-out; } p { max-height: #{1.7 * 3}em; overflow-y: hidden; text-overflow: ellipsis; font-weight: 300; margin-bottom: 2rem; } } & .footer { display: flex; align-items: center; & > time { opacity: 0.9; } } & .authors { display: flex; html[data-theme="dark"] & img { filter: brightness(0.85); } & .author { width: 32px; height: 32px; border-radius: 50%; } & > .author, & > span { margin-left: -1rem; &:first-child { margin-left: 0; z-index: 3; } &:nth-child(2) { z-index: 2; } &:nth-child(3) { z-index: 1; } } } & .divider { margin: 0 0.5rem; } } &:hover { border-color: var(--ifm-color-primary); @include respond-above(sm) { transform: translateY(-20px); } & > a { img { transform: scale3d(1.05, 1.05, 1); } } h2 { opacity: 0.8; } & .tags:hover + a > h2 { opacity: 1; } } } } .sec { margin: 0 0 1rem; h2 { font-size: 2.25rem; margin: 2rem 0; margin-left: 1px; } } @include respond-above(lg) { .firstPage { grid-template-columns: repeat(2, 645px); > article { & > a { img { width: 605px !important; max-width: unset; } } } } } @include respond-above(sm) { .firstPage { grid-template-columns: repeat(2, min(645px, 50%)); > article { & > a { img { // width: min(605px, 50%) !important; max-width: unset; } } .content { padding: 0 1.875rem 1.875rem; } &:first-of-type { @include bigSize; } } } .sec { margin: 0 0 6rem; h2 { font-size: 2.25rem; margin: 5rem 0; margin-left: 1px; } } } article.pickedPosts { $bg-color: #f5f5f7; // border-color: $bg-color; grid-column: initial; position: relative; & .featuredPost { background-color: $bg-color; display: block; width: fit-content; padding: 2px 10px 4px; position: absolute; top: 4px; left: 4px; border-radius: 0.8rem; font-size: 0.666rem; color: #1d1d1f; z-index: 1; transition: all 0.3s ease-in-out; } &:hover { border-color: var(--ifm-color-primary); & .featuredPost { background-color: var(--ifm-color-primary); color: #fff; } } } @include respond-below(sm) { %mobile-posts { display: flex; flex-direction: column; width: 100%; margin: 0; } .normalPage { @extend %mobile-posts; article { margin: 0 0 2.5rem; } } }