/* resources/css/home.css WikiPāli 首页(next.wikipali.org)样式入口。 只服务于首页:品牌 hero + 四张通栏分流卡片。 平面、哑光、克制,无渐变 / 发光 / 阴影 / 圆角卡片。 */ /* 1. Tabler(Bootstrap 5 底座)+ Tabler Icons */ @import '@tabler/core/dist/css/tabler.min.css'; @import '@tabler/icons-webfont/dist/tabler-icons.min.css'; /* 2. 设计令牌 */ :root { --home-bg: #F6F1E7; --home-text: #2B2318; --home-text-secondary: #63594A; --home-text-muted: #6F6555; --home-border-muted: #B6AB98; --home-cta-hover-text: #F6F1E7; --home-hero-tint: #8A6A3C; } /* 3. 页面底色 */ .home-page { margin: 0; background: var(--home-bg); color: var(--home-text); } .home-page .page { background: var(--home-bg); } /* 4. 品牌 Hero */ .home-hero { display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; height: 44vh; min-height: 280px; padding: 2rem 1.5rem; background: color-mix(in srgb, var(--home-hero-tint) 16%, var(--home-bg)); } .home-hero__title { margin: 0 0 .75rem; color: var(--home-text); font-size: clamp(2rem, 5vw, 3.5rem); font-weight: 500; line-height: 1.2; letter-spacing: .02em; } .home-hero__lead { margin: 0; color: var(--home-text-secondary); font-size: clamp(.95rem, 1.6vw, 1.125rem); line-height: 1.5; } /* 5. 通栏卡片 */ .home-card { position: relative; display: flex; align-items: center; height: 40vh; min-height: 320px; max-height: 480px; overflow: hidden; color: var(--home-text); } /* 末卡(二次开发)高度略矮 */ #card-development { height: 36vh; min-height: 280px; max-height: none; } /* 底图:通栏满铺 */ .home-card__media-wrap { position: absolute; inset: 0; display: block; margin: 0; padding: 0; } .home-card__media { display: block; width: 100%; height: 100%; object-fit: cover; } /* 文字在左 → 图的视觉重心在右;文字在右 → 视觉重心在左 */ .home-card--start .home-card__media { object-position: 70% center; } .home-card--end .home-card__media { object-position: 30% center; } /* 蒙版:保证文字对比度 ≥ 4.5:1 */ .home-card__veil { position: absolute; inset: 0; background: color-mix(in srgb, var(--card-tint) 16%, rgba(246, 241, 231, .8)); } /* 文字块:垂直居中,横向贴边 */ .home-card__body { position: relative; z-index: 1; display: flex; align-items: center; width: 100%; padding: 2rem clamp(1.5rem, 6vw, 5rem); } .home-card--start .home-card__body { justify-content: flex-start; padding-left: calc(clamp(1.5rem, 6vw, 5rem) + 300px); } .home-card--end .home-card__body { justify-content: flex-end; padding-right: calc(clamp(1.5rem, 6vw, 5rem) + 300px); } .home-card__text { width: 100%; max-width: 26rem; } .home-card--start .home-card__text { text-align: left; } .home-card--end .home-card__text { text-align: right; } .home-card__eyebrow { margin: 0 0 .5rem; color: var(--home-text-muted); font-size: 12px; letter-spacing: .22em; text-transform: uppercase; } .home-card__title { margin: 0 0 .75rem; color: var(--home-text); font-size: clamp(1.5rem, 3.2vw, 2.5rem); font-weight: 500; line-height: 1.3; } .home-card__lead { margin: 0 0 1.5rem; color: var(--home-text-secondary); font-size: clamp(.9rem, 1.4vw, 1.0625rem); line-height: 1.5; } /* CTA / 状态角标:胶囊形 */ .home-card__cta, .home-card__badge { display: inline-flex; align-items: center; gap: .5rem; border-radius: 999px; padding: .55rem 1.25rem; font-size: 14px; line-height: 1; } .home-card__cta { border: 1px solid var(--home-text); color: var(--home-text); text-decoration: none; transition: background-color .2s ease, color .2s ease; } .home-card__cta:hover, .home-card__cta:focus { background: var(--home-text); color: var(--home-cta-hover-text); text-decoration: none; } .home-card__cta:focus-visible { outline: 2px solid var(--home-text); outline-offset: 3px; } .home-card__badge { border: 1px solid var(--home-border-muted); color: var(--home-text-muted); } /* 6. 响应式:768–991px(高度不变,文字块收窄) */ @media (max-width: 991.98px) { .home-card__text { max-width: 20rem; } } /* 7. 响应式:<768px(全部左对齐,换移动端高度,蒙版加深) */ @media (max-width: 767.98px) { .home-hero { height: 40vh; min-height: 240px; } .home-card { height: 52vh; min-height: 300px; max-height: none; } #card-development { height: 46vh; min-height: 260px; } .home-card__body { justify-content: flex-start; padding: 2rem 1.5rem; } .home-card--start .home-card__body, .home-card--end .home-card__body { padding-left: 1.5rem; padding-right: 1.5rem; } .home-card__text { max-width: 100%; text-align: left; } .home-card__media { object-position: 75% center; } .home-card__veil { background: color-mix(in srgb, var(--card-tint) 20%, rgba(246, 241, 231, .88)); } .home-card__eyebrow { font-size: 11px; } } /* 8. 尊重减少动态偏好:关闭过渡 */ @media (prefers-reduced-motion: reduce) { .home-card__cta { transition: none; } }