candifloss_site/scss/about.scss
Candifloss 9ead073ba3 Slightly improve scroll behaviour
- Scrolling can snap the section to the screen
2025-11-29 22:25:55 +05:30

88 lines
2.0 KiB
SCSS

@use "vars" as v;
* { all: unset; box-sizing: border-box; }
head, script { display: none; }
html, body {
height: 100%;
font-family: "IosevkaTermSlab Nerd Font Mono", monospace;
background: v.$bg1;
color: v.$text;
scroll-behavior: smooth;
}
.sections {
height: 100vh;
overflow-y: auto;
scroll-snap-type: y mandatory;
scroll-snap-stop: always;
}
/* Each section is exactly 90vh tall. */
/* The missing 10vh comes from the next section's title-footer. */
.section {
height: 90vh;
scroll-snap-align: start;
display: flex;
flex-direction: column;
/* This belongs to THIS section, but visually appears at the bottom of
the previous section's viewport. */
.title-footer {
height: 10vh;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
text-decoration: none;
cursor: pointer;
h2 {
font-size: 1.2rem;
color: v.$muted;
}
&:hover h2 { color: v.$accent; }
}
/* The rest of the section: 80vh main content */
.content {
height: 80vh;
flex-shrink: 0;
padding: 3rem;
display: flex;
flex-direction: column;
justify-content: center;
h1 { font-size: 3rem; margin-bottom: .5rem; color: v.$text; }
p { color: v.$muted; line-height: 1.5; }
}
}
/* background colors */
.section1 { background: v.$bg1; }
.section2 { background: v.$bg2; .title-footer { background: v.$bg2; } }
.section3 { background: v.$bg3; .title-footer { background: v.$bg3; } }
.section4 { background: v.$bg4; .title-footer { background: v.$bg4; } }
.section5 { background: v.$bg5; .title-footer { background: v.$bg5; } }
/* section5 special footer */
.section5 footer {
height: 10vh;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
background: rgba(255,255,255,0.05);
color: v.$muted;
}
/* responsive */
@media (max-width: 768px) {
.section .content { padding: 1.5rem; h1 { font-size: 2rem; } }
.title-footer h2 { font-size: 1rem; }
}