Отзывы

/* =========================================================== pmenu — универсальное горизонтальное меню категорий Pure CSS · без JS · до 20 пунктов =========================================================== */ /* ── Обёртка ─────────────────────────────────────────────── */ .pmenu-wrap, .pmenu-wrap * { box-sizing: border-box; } .pmenu-wrap { --pmenu-gap: 8px; --pmenu-item-w: 180px; --pmenu-item-h: 40px; --pmenu-arrow-w: 32px; --pmenu-side-pad: 20px; width: 100%; max-width: 1186px; margin: 0 auto; padding: 10px var(--pmenu-side-pad); font-family: 'PT Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; position: relative; clear: both; overflow-x: visible; } /* ── Скрытые radio-кнопки ───────────────────────────────── */ .pmenu-r { position: absolute; opacity: 0; pointer-events: none; width: 0; height: 0; } /* ── Десктоп ─────────────────────────────────────────────── */ .pmenu-desktop { display: block; } .pmenu-bar { display: flex; align-items: stretch; gap: var(--pmenu-gap); } /* Стрелки */ .pmenu-arrow { flex: 0 0 var(--pmenu-arrow-w); display: flex; align-items: center; justify-content: center; } .pmenu-btn { width: 100%; height: var(--pmenu-item-h); display: none; align-items: center; justify-content: center; font-size: 22px; font-weight: 700; cursor: pointer; user-select: none; background: #373737; color: #fff; transition: background .25s, color .25s; border-radius: 0; } .pmenu-btn:hover { background: #b0cb1f; color: #373737; } /* Видимая область */ .pmenu-viewport { flex: 1 1 auto; overflow: hidden; } /* Лента */ .pmenu-track { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; gap: var(--pmenu-gap); transition: transform .35s ease; will-change: transform; } .pmenu-item { list-style: none; margin: 0 !important; padding: 0 !important; flex: 0 0 var(--pmenu-item-w); } .pmenu-link { display: flex; width: 100%; height: var(--pmenu-item-h); align-items: center; justify-content: center; text-decoration: none; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 8px; background: #373737; color: #fff !important; transition: background .25s, color .25s; border-radius: 0; } .pmenu-link:hover { background: #b0cb1f; color: #373737 !important; } /* ── Сдвиг ленты по шагам (1..20) ────────────────────────── */ #pmenu-lam-1:checked ~ .pmenu-desktop .pmenu-track { transform: translateX(calc(0 * (var(--pmenu-item-w) + var(--pmenu-gap)) * -1)); } #pmenu-lam-2:checked ~ .pmenu-desktop .pmenu-track { transform: translateX(calc(1 * (var(--pmenu-item-w) + var(--pmenu-gap)) * -1)); } #pmenu-lam-3:checked ~ .pmenu-desktop .pmenu-track { transform: translateX(calc(2 * (var(--pmenu-item-w) + var(--pmenu-gap)) * -1)); } #pmenu-lam-4:checked ~ .pmenu-desktop .pmenu-track { transform: translateX(calc(3 * (var(--pmenu-item-w) + var(--pmenu-gap)) * -1)); } #pmenu-lam-5:checked ~ .pmenu-desktop .pmenu-track { transform: translateX(calc(4 * (var(--pmenu-item-w) + var(--pmenu-gap)) * -1)); } #pmenu-lam-6:checked ~ .pmenu-desktop .pmenu-track { transform: translateX(calc(5 * (var(--pmenu-item-w) + var(--pmenu-gap)) * -1)); } #pmenu-lam-7:checked ~ .pmenu-desktop .pmenu-track { transform: translateX(calc(6 * (var(--pmenu-item-w) + var(--pmenu-gap)) * -1)); } #pmenu-lam-8:checked ~ .pmenu-desktop .pmenu-track { transform: translateX(calc(7 * (var(--pmenu-item-w) + var(--pmenu-gap)) * -1)); } /* ── Показ нужных стрелок ────────────────────────────────── */ #pmenu-lam-1:checked ~ .pmenu-desktop .p-prev.n1, #pmenu-lam-2:checked ~ .pmenu-desktop .p-prev.n2, #pmenu-lam-3:checked ~ .pmenu-desktop .p-prev.n3, #pmenu-lam-4:checked ~ .pmenu-desktop .p-prev.n4, #pmenu-lam-5:checked ~ .pmenu-desktop .p-prev.n5, #pmenu-lam-6:checked ~ .pmenu-desktop .p-prev.n6, #pmenu-lam-7:checked ~ .pmenu-desktop .p-prev.n7, #pmenu-lam-8:checked ~ .pmenu-desktop .p-prev.n8 { display: flex; } #pmenu-lam-1:checked ~ .pmenu-desktop .p-next.n1, #pmenu-lam-2:checked ~ .pmenu-desktop .p-next.n2, #pmenu-lam-3:checked ~ .pmenu-desktop .p-next.n3, #pmenu-lam-4:checked ~ .pmenu-desktop .p-next.n4, #pmenu-lam-5:checked ~ .pmenu-desktop .p-next.n5, #pmenu-lam-6:checked ~ .pmenu-desktop .p-next.n6, #pmenu-lam-7:checked ~ .pmenu-desktop .p-next.n7, #pmenu-lam-8:checked ~ .pmenu-desktop .p-next.n8 { display: flex; } /* ── Мобильная версия ────────────────────────────────────── */ .pmenu-mobile { display: none; width: 100%; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch; scrollbar-width: none; margin: 0; padding: 0; } .pmenu-mobile::-webkit-scrollbar { display: none; } .pmenu-scroller { display: flex; gap: 8px; width: max-content; min-width: 100%; margin: 0; padding: 8px 12px; } .pmenu-chip { flex: 0 0 auto; height: 38px; display: flex; align-items: center; justify-content: center; white-space: nowrap; text-decoration: none; padding: 8px 14px; background: #373737; color: #fff !important; transition: background .25s, color .25s; font-size: 14px; } .pmenu-chip:hover, .pmenu-chip:active { background: #b0cb1f; color: #373737 !important; } /* ── Адаптив ─────────────────────────────────────────────── */ @media (max-width: 1200px) { .pmenu-wrap { --pmenu-item-w: 168px; } } @media (max-width: 992px) { .pmenu-wrap { --pmenu-item-w: 156px; } } @media (max-width: 768px) { .pmenu-desktop { display: none; } .pmenu-mobile { display: block; } .pmenu-wrap { padding: 6px 0; } } @media (max-width: 480px) { .pmenu-chip { font-size: 13px; padding: 8px 11px; } } @media (max-width: 380px) { .pmenu-chip { font-size: 12px; padding: 8px 9px; } }