Вы правы, что вывод ion-range
является частью теневого домена, поэтому мы должны использовать переменные SCSS, которые Ionic предоставляет для настройки вывода.
К сожалению, Ionic Documentation не всегда перечисляет все переменные, но, глядя на основной исходный код на Github для компонента range, мы можем получить представление о том, какие переменные в настоящее время доступны.
Я смотрю на файл range.md.scss , который содержит переменные, доступные для вывода диапазона:
:host {
--knob-border-radius: 50%;
--knob-background: var(--bar-background-active);
--knob-box-shadow: none;
--knob-size: 18px;
--bar-height: #{$range-md-bar-height};
--bar-background: #{ion-color(primary, base, 0.26)};
--bar-background-active: #{ion-color(primary, base)};
--bar-border-radius: 0;
--height: #{$range-md-slider-height};
--pin-background: #{ion-color(primary, base)};
--pin-color: #{ion-color(primary, contrast)};
@include padding($range-md-padding-vertical, $range-md-padding-horizontal);
font-size: $range-md-pin-font-size;
}
:host
означает хост-компонент, то есть ion-range
. Есть две переменные для фона и цвета, которые мы можем использовать следующим образом в нашем файле home.page.scss:
ion-range {
--pin-background: black;
--pin-color: red;
}
Поскольку семейство шрифтов недоступно как переменная, мы должны иметь возможность использовать его напрямую, например:
ion-range {
--pin-background: black;
--pin-color: red;
font-family: sans-serif;
}
Ориентация на :after
часть .range-pin
не сработает, к сожалению, потому что она является частью теневого дома. Возможно, вам придется придумать какую-то другую черную магию, чтобы получить то, что вы хотите, или, возможно, предложить Ionic Team добавить переменную в будущем выпуске: -)