More actions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
/* CSS placed here will be applied to all skins */ | /* CSS placed here will be applied to all skins */ | ||
/* Light mode */ | |||
@media (prefers-color-scheme: light) { | |||
:root { | |||
--card-bg: #ffffff; | |||
--card-text: #222222; | |||
--card-border: #cccccc; | |||
} | |||
} | |||
/* Dark mode */ | |||
@media (prefers-color-scheme: dark) { | |||
:root { | |||
--card-bg: #1e1e1e; | |||
--card-text: #dddddd; | |||
--card-border: #444444; | |||
} | |||
} | |||
@media (prefers-color-scheme: dark) { | |||
:root { | |||
--card-link: #66c0ff; | |||
} | |||
} | |||
.card-carousel { | .card-carousel { | ||
Line 24: | Line 47: | ||
align-items: center; | align-items: center; | ||
width: 200px; | width: 200px; | ||
height: 320px; | height: 320px; | ||
background: #fff; | background: #fff; | ||
border-radius: 10px; | border-radius: 10px; | ||
overflow: hidden; | overflow: hidden; | ||
padding: 0; | padding: 0; | ||
margin: 0; | margin: 0; | ||
border: 1px solid var(--card-border); | |||
background-color: var(--card-bg); | |||
color: var(--card-text); | |||
} | } | ||
Line 88: | Line 113: | ||
font-size: 0.6em; | font-size: 0.6em; | ||
font-weight: bold; | font-weight: bold; | ||
color: #007acc; | color: var(--card-link, #007acc); | ||
align-self: flex-end; /* align to the right in flex column */ | align-self: flex-end; /* align to the right in flex column */ | ||
margin-top: 0.25rem; | margin-top: 0.25rem; |
Revision as of 19:39, 29 May 2025
/* CSS placed here will be applied to all skins */ /* Light mode */ @media (prefers-color-scheme: light) { :root { --card-bg: #ffffff; --card-text: #222222; --card-border: #cccccc; } } /* Dark mode */ @media (prefers-color-scheme: dark) { :root { --card-bg: #1e1e1e; --card-text: #dddddd; --card-border: #444444; } } @media (prefers-color-scheme: dark) { :root { --card-link: #66c0ff; } } .card-carousel { display: flex; flex-direction: row; flex-wrap: nowrap; align-items: flex-start; /* critical: lets tall cards grow down, not squish */ overflow-x: auto; gap: 1rem; padding: 1rem; } .card-carousel::-webkit-scrollbar { height: 6px; } .card-carousel::-webkit-scrollbar-thumb { background: #999; border-radius: 3px; } .card { display: flex; flex-direction: column; align-items: center; width: 200px; height: 320px; background: #fff; border-radius: 10px; overflow: hidden; padding: 0; margin: 0; border: 1px solid var(--card-border); background-color: var(--card-bg); color: var(--card-text); } .image-wrapper { min-height: 50px; max-height: 140px; /* allows room for text below */ flex-shrink: 1; /* allow it to shrink when space is tight */ display: flex; align-items: center; justify-content: center; overflow: hidden; } .image-wrapper img { max-width: 100%; max-height: 100%; height: auto; width: auto; display: block; } .card-description { font-size: 0.5em; color: #444; text-align: left; padding: 0 0.1rem 0; white-space: normal; overflow-wrap: anywhere; word-break: break-word; width: 100%; box-sizing: border-box; /* Make it flexible within the card */ flex-grow: 1; display: flex; flex-direction: column; justify-content: space-between; } .snippet-text { font-size: 0.75em; display: -webkit-box; -webkit-line-clamp: 6; /* Dynamically tweakable */ -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; line-height: 1.2em; } .card-description * { white-space: normal !important; overflow-wrap: anywhere !important; word-break: break-word !important; } .read-more { font-size: 0.6em; font-weight: bold; color: var(--card-link, #007acc); align-self: flex-end; /* align to the right in flex column */ margin-top: 0.25rem; padding-right: 0.5rem; /* matches horizontal card padding */ } .no-display { display: none; }