Я пытаюсь применить пользовательские стили к вводу [type = range] и проблемы с этими стилями в Safari. Chrome, FF и IE работают нормально (хотя FF и IE не перечислены ниже в фрагменте кода). pe-color() - внешние функции scss, вызывающие хранимые цвета переменных.Стилизация сфокусированного ввода в сафари
input[type=range] {
-webkit-appearance: none;
-moz-appearance: none;
border: none;
width: 12%;
outline: none;
background: none;
}
input[type=range]:focus {
outline: none;
}
input[type=range]::-webkit-slider-runnable-track {
height: $slider-track-height;
background: pe-color(hyperdrive);
}
input[type=range]::-webkit-slider-thumb {
-webkit-appearance: none;
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
border: 1px solid pe-color(hairline-gray);
height: $slider-thumb-diameter;
width: $slider-thumb-diameter;
border-radius: 50%;
background: pe-color(white);
margin-top: -8px;
}
input[type=range]:focus::-webkit-slider-thumb {
border: 1px solid pe-color(basic-blue);
box-shadow: 0px 0px 5px pe-color(basic-blue);
}
input[type=range]::-moz-focus-outer {
border: 0;
}
input[type=range]::-moz-range-track {
height: $slider-track-height;
background: pe-color(hyperdrive);
border: none;
}
input[type=range]::-moz-range-thumb {
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
border: 1px solid pe-color(hairline-gray);
height: $slider-thumb-diameter;
width: $slider-thumb-diameter;
border-radius: 50%;
background: pe-color(white);
}
input[type=range]:focus::-moz-range-thumb {
border: 1px solid pe-color(basic-blue);
box-shadow: 0px 0px 5px pe-color(basic-blue);
}
input[type=range]::-ms-track {
height: $slider-track-height;
border-color: transparent;
border-width: 11px 0;
background: transparent;
color: transparent;
}
input[type=range]::-ms-thumb {
box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.1);
border: 1px solid pe-color(hairline-gray);
height: $slider-thumb-diameter;
width: $slider-thumb-diameter;
border-radius: 50%;
background: pe-color(white);
}
input[type=range]::-ms-fill-lower {
background: pe-color(hyperdrive);
}
input[type=range]::-ms-fill-upper {
background: pe-color(hyperdrive);
}
input[type=range]:focus::-ms-thumb {
border: 1px solid pe-color(basic-blue);
box-shadow: 0px 0px 5px pe-color(basic-blue);
}
Через различные Googling я видел вещи, относящиеся к стилизации «контур», но я, не имея успеха в использовании этого. Надеемся получить некоторое представление о том, существует ли стиль псевдокласса для нацеливания на этот элемент.
Приносим извинения, я должен был показать весь файл. Я обновился, чтобы отразить это. Однако это не работает для Safari. Я столкнулся с сообщением об ошибке, который был открыт 8 лет назад для этой проблемы и до сих пор не разрешен с 3 лет назад с веб-сайта https://bugs.webkit.org/show_bug.cgi?id=22261 – dch