/
5_element
/
gpb-hackathon-game
Обзор
Документация
Войти
/
5_element
/
gpb-hackathon-game
Код
Запросы
0
Вики
Пакеты
0
Релизы
0
Аналитика
main
src/features/bottom_navigation/bottom_navigation.module.css
160 строк
3 KB
orion
feat: reset
01 окт 2025, 22:00
01 окт 2025, 22:00
54f9706
Код
Авторство
О чём код?
.bottomNavigation { position: fixed; bottom: 0; left: 0; right: 0; width: 100%; height: 80px; background: var(--color-dialog-bg); border-top: 1px solid var(--color-raspberry); display: flex; align-items: stretch; justify-content: stretch; padding: 0; padding-bottom: max(20px, env(safe-area-inset-bottom, 20px)); z-index: var(--z-navigation); } .navButton { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0; background: transparent; border: none; color: var(--color-white); cursor: pointer; transition: all 0.3s ease; border-radius: 0; flex: 1; height: 100%; position: relative; } .navButton:hover { color: var(--color-white); background: var(--color-raspberry); } .navButton.active { color: var(--color-white); background: var(--color-raspberry); } .navButton.active::before { content: ''; position: absolute; top: -8px; left: 50%; transform: translateX(-50%); width: 4px; height: 4px; background: var(--color-raspberry); border-radius: 50%; } .activeIndicator { position: absolute; top: -2px; left: 50%; transform: translateX(-50%); width: 6px; height: 6px; background: var(--color-raspberry); border-radius: 50%; animation: pulse 2s infinite; } @keyframes pulse { 0%, 100% { opacity: 1; transform: translateX(-50%) scale(1); } 50% { opacity: 0.7; transform: translateX(-50%) scale(1.2); } } .icon { font-size: 24px; margin-bottom: 4px; } .label { font-size: 14px; font-weight: 500; text-align: center; line-height: 1.2; } /* Адаптивность для мобильных устройств */ @media (max-width: 768px) { .bottomNavigation { height: 70px; padding: 0; } .navButton { padding: 0; } .icon { font-size: 22px; } .label { font-size: 12px; } } @media (max-width: 480px) { .bottomNavigation { height: 65px; } .navButton { padding: 0; } .icon { font-size: 20px; } .label { font-size: 11px; } } .navButton[data-tab='home']:hover { color: var(--color-white); background: var(--color-raspberry); } .navButton[data-tab='profile']:hover { color: var(--color-white); background: var(--color-raspberry); } .navButton[data-tab='rewards']:hover { color: var(--color-white); background: var(--color-raspberry); } .navButton[data-tab='shop']:hover { color: var(--color-white); background: var(--color-raspberry); } .navButton.disabled { opacity: 0.5; cursor: not-allowed; pointer-events: none; } .navButton.disabled:hover { background: transparent; color: var(--color-white); }