/
spirzen
/
it-knowledge-base
Обзор
Документация
Войти
/
spirzen
/
it-knowledge-base
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
Mobile
src/pages/index.module.css
570 строк
11 KB
Spirzen
Big design pack
04 июн 2026, 02:45
04 июн 2026, 02:45
50bc995
Код
Авторство
О чём код?
.heroBanner { padding: 4rem 0 2rem; text-align: center; position: relative; overflow: hidden; } @media screen and (max-width: 996px) { .heroBanner { padding: 2rem; } } .heroSubtitle { max-width: 40rem; margin-left: auto; margin-right: auto; } .heroActions { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; margin: 0; } .heroIndexLink { font-size: 0.95rem; font-weight: 600; color: var(--ifm-color-primary); text-decoration: none; border-bottom: 1px solid transparent; transition: color 0.2s ease, border-color 0.2s ease; } .heroIndexLink:hover { color: var(--ifm-color-primary-dark); border-bottom-color: var(--ifm-color-primary); text-decoration: none; } .heroIndexLink:focus-visible { outline: 2px solid var(--ifm-color-primary); outline-offset: 3px; border-radius: 2px; } .sectionFallback { width: 100%; max-width: 1100px; margin: 0 auto; border-radius: var(--ifm-card-border-radius); background: linear-gradient( 90deg, var(--ifm-color-emphasis-100) 0%, var(--ifm-color-emphasis-200) 50%, var(--ifm-color-emphasis-100) 100% ); background-size: 200% 100%; animation: homeShimmer 1.4s ease-in-out infinite; } @keyframes homeShimmer { 0% { background-position: 100% 0; } 100% { background-position: -100% 0; } } .buttons { display: flex; align-items: center; justify-content: center; gap: 1rem; flex-wrap: wrap; } .heroFooter { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--ifm-color-emphasis-200); } .heroFooterLink { font-size: 0.82rem; font-weight: 500; color: var(--ifm-color-content-secondary); text-decoration: none; transition: color 0.2s ease; } .heroFooterLink:hover { color: var(--ifm-color-primary); text-decoration: underline; } .heroFooterLink:focus-visible { outline: 2px solid var(--ifm-color-primary); outline-offset: 2px; border-radius: 2px; } .discoverSection { padding: 0 0 3rem; background: var(--ifm-background-color); } .discoverCard { max-width: 28rem; margin: 0 auto; padding: 1.5rem; background: var(--ifm-card-background-color); border: 1px solid var(--ifm-color-emphasis-300); border-radius: var(--ifm-card-border-radius); box-shadow: var(--ifm-global-shadow-lw); } .author { margin-top: 2rem; font-style: italic; color: #5A6C7D; font-size: 1.1rem; } .author p { margin: 0.5rem 0; } .homeSection { padding: 3rem 0 2.5rem; background: var(--ifm-background-color); } .homePanel { background: var(--ifm-card-background-color); border: 1px solid var(--ifm-color-emphasis-300); border-radius: var(--ifm-card-border-radius); padding: 2rem; box-shadow: var(--ifm-global-shadow-lw); max-width: 1100px; margin: 0 auto; text-align: center; } .sectionTitle { font-size: 2rem; color: var(--ifm-color-content); margin-bottom: 0.75rem; } .sectionLead { font-size: 1.1rem; line-height: 1.65; color: var(--ifm-color-content-secondary); max-width: 52rem; margin: 0 auto 1.75rem; } .interactiveActions { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.75rem; } .stackedButton { display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; min-width: 16rem; text-align: left; gap: 0.15rem; line-height: 1.25; } .stackedButtonTitle { font-weight: 700; } .stackedButtonHint { font-size: 0.78rem; font-weight: 500; opacity: 0.9; } @media screen and (max-width: 996px) { .homeSection { padding: 2rem 0; } .sectionTitle { font-size: 1.65rem; } .sectionLead { font-size: 1rem; } } @media screen and (max-width: 768px) { .homePanel { padding: 1.5rem; } .interactiveActions :global(.button) { width: 100%; max-width: 20rem; } .stackedButton { align-items: center; text-align: center; } } .features { padding: 4rem 0; } .featuresLead { margin-bottom: 3rem; } @media screen and (max-width: 996px) { .featuresLead { margin-bottom: 2rem; } } .stats { padding: 3rem 0; background: linear-gradient(135deg, #7B68EE 0%, #9370DB 100%); color: white; } .statCard { text-align: center; padding: 1.5rem; } .statNumber { font-size: 3rem; font-weight: 700; color: white; margin-bottom: 0.5rem; } .statLabel { font-size: 1.1rem; color: rgba(255, 255, 255, 0.9); font-weight: 500; } @media screen and (max-width: 996px) { .statNumber { font-size: 2.5rem; } .statLabel { font-size: 1rem; } } @media screen and (max-width: 768px) { .buttons { flex-direction: column; gap: 0.5rem; width: 100%; } .buttons :global(.button) { width: 100%; max-width: 20rem; } .features { padding: 2rem 0; } .stats { padding: 2rem 0; } } .logoContainer { margin: 1.5rem 0; display: flex; justify-content: center; } .heroLogo { max-width: 200px; height: auto; } .heroLogoTitle { font-size: inherit; line-height: 1; margin-bottom: 0.5rem; } .heroLogoTitle :global(a) { color: inherit; } .emojiImage { width: 1em; height: 1em; vertical-align: text-bottom; margin-right: 0.25em; } details { margin-bottom: 1rem; border: 1px solid var(--ifm-color-emphasis-300); border-radius: var(--ifm-global-radius); background: var(--ifm-card-background-color); } details summary { padding: 1rem; font-weight: 600; cursor: pointer; outline: none; list-style: none; } details summary::marker, details summary::-webkit-details-marker { display: none; } details summary::before { content: "🔷"; display: inline-block; transition: transform 0.2s; margin-right: 0.5rem; vertical-align: middle; } details[open] summary::before { transform: rotate(90deg); } details > :not(summary) { padding: 1rem; border-top: 1px solid var(--ifm-color-emphasis-200); } .heroCard { background: var(--ifm-card-background-color); border: 1px solid var(--ifm-color-emphasis-300); border-radius: var(--ifm-card-border-radius); padding: 2rem; box-shadow: var(--ifm-global-shadow-lw); max-width: 1100px; margin: 0 auto; } @media screen and (max-width: 768px) { .heroCard { padding: 1.5rem; } } .cards-grid { display: grid; gap: 1.5rem; justify-content: center; position: relative; z-index: 1; } @media screen and (min-width: 996px) { .cards-grid { grid-template-columns: repeat(4, 1fr); } } @media screen and (min-width: 768px) and (max-width: 995px) { .cards-grid { grid-template-columns: repeat(2, 1fr); } } @media screen and (max-width: 767px) { .cards-grid { grid-template-columns: 1fr; } } .feature-card { padding: 1.5rem; background: var(--ifm-card-background-color); border: 1px solid var(--ifm-color-emphasis-300); border-radius: var(--ifm-global-radius); transition: background 0.3s ease; } .feature-card h3 { margin: 0 0 0.75rem; font-size: 1.25rem; } .feature-card p { margin: 0; font-size: 0.95rem; color: var(--ifm-font-color-base); } .feature-cta { display: inline-block; margin-top: 1rem; padding: 0.5rem 1rem; text-align: center; font-weight: 600; text-decoration: none; color: var(--ifm-button-color); background: var(--ifm-button-background-color); border: 1px solid var(--ifm-button-border-color); border-radius: var(--ifm-global-radius); } .feature-card--wide { grid-column: span 2; } @media screen and (min-width: 768px) and (max-width: 995px) { .feature-card--wide { grid-column: span 2; } } @media screen and (max-width: 767px) { .feature-card--wide { grid-column: span 1; } } .feature-card--wide { padding: 2rem; background: linear-gradient(135deg, var(--ifm-color-primary) 0%, var(--ifm-color-primary-dark) 100%); color: white; border: none; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .feature-card--wide h3, .feature-card--wide p { color: white; } .feature-card--wide .feature-cta { background: rgba(255, 255, 255, 0.15); border-color: rgba(255, 255, 255, 0.4); color: white; } .feature-card--wide .feature-cta:hover { background: rgba(255, 255, 255, 0.25); } .sectionsGrid { display: grid; gap: 1.5rem; margin-top: 2rem; } @media screen and (min-width: 768px) { .sectionsGrid { grid-template-columns: repeat(2, 1fr); } } @media screen and (min-width: 996px) { .sectionsGrid { grid-template-columns: repeat(3, 1fr); } } .sectionCard { padding: 1.5rem; background: var(--ifm-card-background-color); border: 1px solid var(--ifm-color-emphasis-300); border-radius: var(--ifm-global-radius); border-left: 4px solid var(--ifm-color-primary); transition: box-shadow 0.2s ease; } .sectionCard:hover { box-shadow: var(--ifm-global-shadow-md); } .sectionCard h3 { margin: 0 0 0.75rem; font-size: 1.25rem; color: var(--ifm-color-content); } .sectionCard p { margin: 0 0 1rem; font-size: 0.95rem; line-height: 1.5; color: var(--ifm-color-content-secondary); } .section-cta { font-size: 0.9rem; padding: 0.4rem 1rem; } /* Светлая тема: карточки разделов на главной */ :root { --section-1-bg: #f8f9ff; --section-2-bg: #f9f8fb; --section-3-bg: #f6fcf8; --section-4-bg: #fff7f5; --section-5-bg: #f5f9ff; --section-6-bg: #fdf8f0; --section-7-bg: #f7f5fa; --section-8-bg: #f0f9f4; --section-9-bg: #fff2f8; --section-1-border: #4a6cf7; --section-2-border: #7b61ff; --section-3-border: #2e8b57; --section-4-border: #d2691e; --section-5-border: #1e90ff; --section-6-border: #d2b48c; --section-7-border: #9370db; --section-8-border: #32cd32; --section-9-border: #ff69b4; } /* Тёмная тема */ html[data-theme='dark'] { --section-1-bg: #1a1d2e; --section-2-bg: #1d1c24; --section-3-bg: #1a221f; --section-4-bg: #241e1c; --section-5-bg: #1a1f2e; --section-6-bg: #221f18; --section-7-bg: #1f1d23; --section-8-bg: #18221d; --section-9-bg: #241a20; --section-1-border: #6a8cff; --section-2-border: #9b81ff; --section-3-border: #4ecb8d; --section-4-border: #e68a4e; --section-5-border: #4eb3ff; --section-6-border: #e6c99c; --section-7-border: #b390ff; --section-8-border: #5ae65a; --section-9-border: #ff8ac4; } .sectionCard:nth-child(1) { background-color: var(--section-1-bg); border-left-color: var(--section-1-border); } .sectionCard:nth-child(2) { background-color: var(--section-2-bg); border-left-color: var(--section-2-border); } .sectionCard:nth-child(3) { background-color: var(--section-3-bg); border-left-color: var(--section-3-border); } .sectionCard:nth-child(4) { background-color: var(--section-4-bg); border-left-color: var(--section-4-border); } .sectionCard:nth-child(5) { background-color: var(--section-5-bg); border-left-color: var(--section-5-border); } .sectionCard:nth-child(6) { background-color: var(--section-6-bg); border-left-color: var(--section-6-border); } .sectionCard:nth-child(7) { background-color: var(--section-7-bg); border-left-color: var(--section-7-border); } .sectionCard:nth-child(8) { background-color: var(--section-8-bg); border-left-color: var(--section-8-border); } .sectionCard:nth-child(9) { background-color: var(--section-9-bg); border-left-color: var(--section-9-border); }