Files
website/website.scss
vato007 a0e06403de
All checks were successful
release / Publish to Cloudflare Pages (push) Successful in 1m15s
Add initial cards concept
2025-04-23 16:53:33 +09:30

115 lines
2.3 KiB
SCSS

@use "node_modules/@picocss/pico/scss/pico" with (
$theme-color: "cyan",
$modules: (
"content/code": false,
"content/embedded": true,
"content/figure": false,
"content/miscs": false,
"content/table": false,
"forms/checkbox-radio-switch": false,
"forms/input-color": false,
"forms/input-date": false,
"forms/input-file": false,
"forms/input-range": false,
"forms/input-search": false,
"components/card": true,
"components/dropdown": false,
"components/loading": false,
"components/group": false,
"components/modal": false,
"components/progress": false,
"components/tooltip": false,
"layout/grid": true,
"layout/landmarks": false,
"layout/overflow-auto": false,
"utilities/accessibility": false,
"utilities/reduce-motion": false,
)
);
@use "node_modules/@picocss/pico/scss/colors" as *;
.closed-on-mobile {
display: none;
}
$animation-length: 0.4s;
.special-card {
filter: drop-shadow(0 0 1rem $cyan-500);
margin: 1.5rem;
cursor: pointer;
transition: scale $animation-length;
opacity: 0;
min-width: 9rem;
max-width: 9rem;
animation: fadeIn 1s forwards;
@for $i from 1 through 4 {
&:nth-child(#{$i}n) {
// TODO: Delay last stuff less than earlier stuff
animation-delay: #{$i * 0.1}s;
}
}
&:hover {
scale: 1.02;
& > article > div {
// Set to something larger than button
// since % doesn't work
max-height: 400px;
height: fit-content;
}
}
button {
width: 100%;
margin: 0.5rem 0;
}
& > article > div {
display: block;
max-height: 0;
overflow: hidden;
// Close it faster
transition: max-height 0.2 * $animation-length;
}
&:hover > article > div {
transition: max-height $animation-length;
}
}
.special-card-wrapper {
display: flex;
flex-wrap: wrap;
}
@keyframes fadeIn {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@media (min-width: 992px) {
main.responsive-nav {
--block-spacing-horizontal: calc(var(--spacing) * 1.75);
grid-column-gap: calc(var(--block-spacing-horizontal) * 3);
display: grid;
grid-template-columns: 200px auto;
}
.closed-on-mobile {
display: block;
}
main > aside nav {
position: fixed;
width: 200px;
max-height: calc(100vh - 5.5rem);
overflow-x: hidden;
overflow-y: auto;
}
}