Задать вопрос
@ligisayan

Как сделать input[type=“range”] кроссбраузерным (обрезается ползунок по краям в edge)?

Есть ползунок range, отображение которого хочу сделать кроссбраузерным, но не получается это сделать в браузере edge. Ползунок почему-то обрезается сверху и снизу, а здесь нет.

Вот так ползунки выглядят в edge
5b740f0f91918097599314.png
Код:
  • Вопрос задан
  • 2502 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 2
delphinpro
@delphinpro Куратор тега CSS
frontend developer
Не получится, скорее всего.
Используйте кастомные решения. Отличный ползунок — ionden.com/a/plugins/ion.rangeSlider/index.html
Ответ написан
Комментировать
@Alex_Nzr
input[type="range"]::-webkit-slider-thumb - это сам ползунок.
input[type="range"]::-webkit-slider-runnable-track - это полоса, по которой он ездит.
input[type=range] - это контейнер для thumb и track.

Срезание краёв происходит, когда высота контейнера меньше высоты ползунка. Другие браузеры это игнорируют и отображают нормально. Но Edge - особенный и любит индивидуальный подход.

И, что самое интересное, если подойти к стилизации данного инпута по схеме описанной выше, то она будет нормально работать в Edge, но не в других браузерах)) Например Яндекс.браузер не любит отдельную стилизацию track и если высота у контейнера и полосы различаются, то он приклеивает её к "потолку" контейнера и ползунок, соответственно, съезжает вниз. Это можно поправить поигравшись с padding, но тогда станет кривым отображение в Edge.
В общем, я обычно пишу в общий css файл стили ползунка для нормальных браузеров, а через js делаю проверку браузера клиента и, если это Edge, то подгружаю дополнительные стили для него.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
div. Ставрополь
от 40 000 до 90 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
18 дек. 2024, в 15:50
50000 руб./за проект
18 дек. 2024, в 15:41
3000 руб./за проект
18 дек. 2024, в 15:31
500 руб./за проект