Template:NavCard/styles.css: Difference between revisions
Appearance
No edit summary |
No edit summary |
||
| Line 4: | Line 4: | ||
* MediaWiki 1.46 / Vector 2022 | * MediaWiki 1.46 / Vector 2022 | ||
* | * | ||
* | * Full-card clickable navigation. | ||
* Designed for MediaWiki TemplateStyles. | * Designed for MediaWiki TemplateStyles. | ||
*/ | */ | ||
| Line 13: | Line 13: | ||
.lumi-navcard { | .lumi-navcard { | ||
position: relative; | |||
display: flex; | display: flex; | ||
flex-direction: column; | flex-direction: column; | ||
| Line 59: | Line 61: | ||
#202834 | #202834 | ||
); | ); | ||
} | } | ||
| Line 104: | Line 100: | ||
.lumi-navcard-title { | .lumi-navcard-title { | ||
color: #f5f7fa; | |||
font-size: 1.12em; | font-size: 1.12em; | ||
font-weight: 700; | font-weight: 700; | ||
letter-spacing: -0.02em; | letter-spacing: -0.02em; | ||
line-height: 1.3; | line-height: 1.3; | ||
} | } | ||
| Line 131: | Line 118: | ||
/* ========================================== | /* ========================================== | ||
7. BOTTOM NAVIGATION | 7. BOTTOM NAVIGATION LABEL | ||
========================================== */ | ========================================== */ | ||
| Line 138: | Line 125: | ||
padding-top: 12px; | padding-top: 12px; | ||
color: #55c8ff; | |||
font-size: 0.8em; | font-size: 0.8em; | ||
font-weight: 700; | font-weight: 700; | ||
| Line 143: | Line 131: | ||
} | } | ||
.lumi-navcard- | /* ========================================== | ||
8. FULL-CARD CLICKABLE OVERLAY | |||
========================================== */ | |||
.lumi-navcard-overlay { | |||
position: absolute; | |||
top: 0; | |||
right: 0; | |||
bottom: 0; | |||
left: 0; | |||
z-index: 2; | |||
} | |||
.lumi-navcard-overlay a { | |||
display: block; | |||
width: 100%; | |||
height: 100%; | |||
text-decoration: none; | text-decoration: none; | ||
cursor: pointer; | |||
} | } | ||
.lumi-navcard- | /* | ||
* Visually hide the link label while keeping | |||
* it available to screen readers. | |||
*/ | |||
.lumi-navcard-overlay-label { | |||
position: absolute; | |||
width: 1px; | |||
height: 1px; | |||
overflow: hidden; | |||
clip: rect(0, 0, 0, 0); | |||
white-space: nowrap; | |||
} | } | ||
/* ========================================== | /* ========================================== | ||
9. KEYBOARD NAVIGATION | |||
========================================== */ | ========================================== */ | ||
.lumi-navcard a:focus { | .lumi-navcard-overlay a:focus { | ||
outline: 2px solid #55c8ff; | outline: 2px solid #55c8ff; | ||
outline-offset: | outline-offset: -3px; | ||
border-radius: 12px; | |||
} | } | ||
/* ========================================== | /* ========================================== | ||
10. REDUCED MOTION ACCESSIBILITY | |||
========================================== */ | ========================================== */ | ||
Revision as of 23:26, 13 November 2026
/*
* LumiWiki Navigation Cards
* MediaWiki 1.46 / Vector 2022
*
* Full-card clickable navigation.
* Designed for MediaWiki TemplateStyles.
*/
/* ==========================================
1. MAIN CARD CONTAINER
========================================== */
.lumi-navcard {
position: relative;
display: flex;
flex-direction: column;
height: 100%;
overflow: hidden;
background: #202834;
color: #f5f7fa;
border: 1px solid #394657;
border-radius: 12px;
transition:
border-color 0.25s ease,
box-shadow 0.25s ease,
transform 0.25s ease;
}
/* ==========================================
2. HOVER INTERACTION
========================================== */
.lumi-navcard:hover {
border-color: #55c8ff;
box-shadow:
0 8px 24px rgba(0, 0, 0, 0.25),
0 0 14px rgba(85, 200, 255, 0.15);
transform: translateY(-4px);
}
/* ==========================================
3. CARD IMAGE
========================================== */
.lumi-navcard-image {
position: relative;
width: 100%;
aspect-ratio: 16 / 9;
overflow: hidden;
background: linear-gradient(
to bottom,
#303b4b,
#202834
);
}
.lumi-navcard-image img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
transition:
transform 0.35s ease,
filter 0.35s ease;
}
/* Image zoom and brightness */
.lumi-navcard:hover .lumi-navcard-image img {
transform: scale(1.045);
filter: brightness(1.08);
}
/* ==========================================
4. CARD CONTENT
========================================== */
.lumi-navcard-content {
display: flex;
flex-direction: column;
flex-grow: 1;
padding: 18px;
gap: 9px;
}
/* ==========================================
5. CARD TITLE
========================================== */
.lumi-navcard-title {
color: #f5f7fa;
font-size: 1.12em;
font-weight: 700;
letter-spacing: -0.02em;
line-height: 1.3;
}
/* ==========================================
6. CARD DESCRIPTION
========================================== */
.lumi-navcard-description {
color: #b9c5d4;
font-size: 0.9em;
line-height: 1.55;
}
/* ==========================================
7. BOTTOM NAVIGATION LABEL
========================================== */
.lumi-navcard-link {
margin-top: auto;
padding-top: 12px;
color: #55c8ff;
font-size: 0.8em;
font-weight: 700;
letter-spacing: 0.025em;
}
/* ==========================================
8. FULL-CARD CLICKABLE OVERLAY
========================================== */
.lumi-navcard-overlay {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 2;
}
.lumi-navcard-overlay a {
display: block;
width: 100%;
height: 100%;
text-decoration: none;
cursor: pointer;
}
/*
* Visually hide the link label while keeping
* it available to screen readers.
*/
.lumi-navcard-overlay-label {
position: absolute;
width: 1px;
height: 1px;
overflow: hidden;
clip: rect(0, 0, 0, 0);
white-space: nowrap;
}
/* ==========================================
9. KEYBOARD NAVIGATION
========================================== */
.lumi-navcard-overlay a:focus {
outline: 2px solid #55c8ff;
outline-offset: -3px;
border-radius: 12px;
}
/* ==========================================
10. REDUCED MOTION ACCESSIBILITY
========================================== */
@media (prefers-reduced-motion: reduce) {
.lumi-navcard,
.lumi-navcard-image img {
transition: none;
}
.lumi-navcard:hover {
transform: none;
}
.lumi-navcard:hover .lumi-navcard-image img {
transform: none;
filter: none;
}
}