Изменение стиля ввода диапазона с помощью JavaScript - PullRequest
0 голосов
/ 04 июня 2018

Вы можете изменить CSS-стиль "большого пальца" (ручки) ползунка HTML5 с помощью селекторов ::-webkit-slider-thumb, ::-moz-range-thumb & ::-ms-thumb.

Вы можете изменить CSS-стили«дорожка» (канавка) ползунка HTML5 с помощью селекторов ::-webkit-slider-runnable-track, ::-moz-range-track & ::-ms-track.

Но что, если я хочу изменить стиль «большого пальца» или «дорожки» с помощью JavaScript?

Возможно ли это?И если это возможно, как я могу это сделать?

1 Ответ

0 голосов
/ 05 июня 2018

Как вы выяснили, это можно сделать с помощью пользовательских свойств, и при условии, что совместимость с браузерами не является проблемой (я не знаю, есть ли проблемы с пользовательскими свойствами в псевдо-браузерах, особенно в Edge и Safari).элементы, но это стоит попробовать), пользовательские свойства являются идеальным способом настройки стилей псевдоэлементов с помощью JavaScript, так как обходной путь для CSSOM в настоящее время поддерживает только чтение стилей псевдоэлементов, но не их написание.

Если выВы беспокоитесь о совместимости браузера, вам придется сделать это старомодным способом, как описано здесь :

Вы всегда можете найти другие способы обойти это,например:

  • Применение стилей к псевдоэлементам одного или нескольких произвольных классов, а затем переключение между классами (см. ответ seucolega для быстрого примера) -это идиоматический способ, поскольку он использует простые селекторы (которые не являются псевдоэлементами), чтобы различать элементы и элементыСостояния, способ, которым они предназначены для использования

  • Управление стилями, применяемыми к указанным псевдоэлементам, путем изменения таблицы стилей документа, что гораздо больше похоже на хак

... с другими примерами из других ответов на тот же вопрос.

...