0
0
mirror of https://github.com/twbs/bootstrap.git synced 2025-02-23 20:54:22 +01:00
Bootstrap/scss/forms/_form-range.scss
Mark Otto 7915584fa4 lol
2024-07-29 22:04:11 -07:00

98 lines
3.4 KiB
SCSS

@use "../mixins/border-radius";
@use "../mixins/box-shadow";
@use "../mixins/gradients";
@use "../mixins/transition";
@use "../variables";
// Range
//
// Style range inputs the same across browsers. Vendor-specific rules for pseudo
// elements cannot be mixed. As such, there are no shared styles for focus or
// active states on prefixed selectors.
.form-range {
width: 100%;
height: calc(#{variables.$form-range-thumb-height} + #{variables.$form-range-thumb-focus-box-shadow-width} * 2);
padding: 0; // Need to reset padding
appearance: none;
background-color: transparent;
&:focus {
outline: 0;
// Pseudo-elements must be split across multiple rulesets to have an effect.
// No box-shadow() mixin for focus accessibility.
&::-webkit-slider-thumb { box-shadow: variables.$form-range-thumb-focus-box-shadow; }
&::-moz-range-thumb { box-shadow: variables.$form-range-thumb-focus-box-shadow; }
}
&::-moz-focus-outer {
border: 0;
}
&::-webkit-slider-thumb {
width: variables.$form-range-thumb-width;
height: variables.$form-range-thumb-height;
margin-top: (variables.$form-range-track-height - variables.$form-range-thumb-height) * .5; // Webkit specific
appearance: none;
@include gradients.gradient-bg(variables.$form-range-thumb-bg);
border: variables.$form-range-thumb-border;
@include border-radius.border-radius(variables.$form-range-thumb-border-radius);
@include box-shadow.box-shadow(variables.$form-range-thumb-box-shadow);
@include transition.transition(variables.$form-range-thumb-transition);
&:active {
@include gradients.gradient-bg(variables.$form-range-thumb-active-bg);
}
}
&::-webkit-slider-runnable-track {
width: variables.$form-range-track-width;
height: variables.$form-range-track-height;
color: transparent; // Why?
cursor: variables.$form-range-track-cursor;
background-color: variables.$form-range-track-bg;
border-color: transparent;
@include border-radius.border-radius(variables.$form-range-track-border-radius);
@include box-shadow.box-shadow(variables.$form-range-track-box-shadow);
}
&::-moz-range-thumb {
width: variables.$form-range-thumb-width;
height: variables.$form-range-thumb-height;
appearance: none;
@include gradients.gradient-bg(variables.$form-range-thumb-bg);
border: variables.$form-range-thumb-border;
@include border-radius.border-radius(variables.$form-range-thumb-border-radius);
@include box-shadow.box-shadow(variables.$form-range-thumb-box-shadow);
@include transition.transition(variables.$form-range-thumb-transition);
&:active {
@include gradients.gradient-bg(variables.$form-range-thumb-active-bg);
}
}
&::-moz-range-track {
width: variables.$form-range-track-width;
height: variables.$form-range-track-height;
color: transparent;
cursor: variables.$form-range-track-cursor;
background-color: variables.$form-range-track-bg;
border-color: transparent; // Firefox specific?
@include border-radius.border-radius(variables.$form-range-track-border-radius);
@include box-shadow.box-shadow(variables.$form-range-track-box-shadow);
}
&:disabled {
pointer-events: none;
&::-webkit-slider-thumb {
background-color: variables.$form-range-thumb-disabled-bg;
}
&::-moz-range-thumb {
background-color: variables.$form-range-thumb-disabled-bg;
}
}
}