Как лучше можно реализовать что то вроде селекта внутри родителя у которого есть скрытые элементы и должна быть горизонтальная прокрутка?
Ссылка скопирована
Сейчас ситуация такая: подскажите, как можно реализовать что то вроде селекта внутри родителя у которого есть скрытые элементы и должна быть горизонтальная прокрутка. Сейчас я сделал это с overflow auto и выпадающий список не видно. Сылка на codepen -https://codepen.io/Valery-Serebryakov/pen/pvyYoEm
Нужно решить такую задачу?
Заказать помощь
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Лучший ответ
1
Другие ответы (0)
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопроскомментарий
Вам также может быть интересно
VPN
Как правильно настроить vless для Android TV?
1 ответ
Pyrogram
Как правильно зарегистрировать юзер бота в Telegram?
1 ответ
печатные-платы
Как заставить запускаться программу M3.exe от компании Hanxing AOI в инспекционной машине на Windows 7 Pro?
1 ответ
Искусственный интеллект
Что делать, если OpenRouter ограничивает доступ к моделям?
1 ответ

Если нужно сделать что-то похожее на select внутри родителя со скрытыми элементами и горизонтальной прокруткой, лучше не пытаться использовать нативный
<select>. Нативный select плохо контролируется по стилям, а выпадающий список часто выходит за контейнер непредсказуемо. Делайте кастомный компонент: кнопка выбора, список опций и отдельная логика прокрутки.Главная проблема в вашем описании — сочетание
overflow: hiddenу родителя и выпадающего списка. Если dropdown находится внутри такого контейнера, он будет обрезаться. Есть два рабочих пути: либо выводить список внутри контейнера и жить с обрезкой/скроллом, либо выносить dropdown в отдельный слой поверх страницы через portal/absolute/fixed.Пример CSS для горизонтальных опций:
.tabs-select { display: flex; gap: 8px; overflow-x: auto; max-width: 100%; scroll-snap-type: x proximity; } .tabs-select button { flex: 0 0 auto; white-space: nowrap; scroll-snap-align: start; }
Если нужен именно dropdown, список лучше позиционировать относительно viewport, а координаты кнопки брать через
getBoundingClientRect(). Тогда родительскийoverflowне отрежет меню. В React для этого обычно используют portal, в обычном JS — добавляют меню в конецbody.Также продумайте клавиатуру и мобильные устройства: Enter/Space открывают список, Escape закрывает, стрелки переключают, клик вне закрывает. На телефоне маленькие скрытые элементы и горизонтальный скролл часто неудобны, поэтому иногда лучше заменить dropdown на bottom sheet или обычный список кнопок.
Итог: для скрытых элементов и горизонтальной прокрутки делайте кастомный UI. Если список должен выходить за пределы родителя, выносите его из контейнера с
overflow: hidden. Если всё должно оставаться внутри — используйте горизонтальный scroll-list, а не выпадающее меню.