@geogirafe/lib-geoportal
Version:
GeoGirafe is a flexible application to build online geoportals.
173 lines (150 loc) • 4.56 kB
CSS
/* SPDX-License-Identifier: Apache-2.0 */
#container {
--slider-color: var(--text-color);
--slider-disabled-color: var(--text-color-grad2);
--slider-highlight-color: var(--bkg-color-grad2);
/* length of input slider including the thumb */
--slider-width: 170px;
/* Length of the slider track */
--track-width: calc(var(--slider-width) - var(--thumb-width));
--thumb-width: 19px;
--margin-left: calc(var(--thumb-width) / 2);
--slider-track-height: 9px;
/* Thumb must move down have its radius and center align with the track */
--thumb-margin-top: calc(-0.5 * var(--thumb-width) + 0.5 * var(--slider-track-height));
--slider-track-border-color: var(--text-color-grad2);
--slider-track-outside-color: var(--bkg-color-grad2);
--slider-track-inside-color: var(--text-color);
color: var(--text-color);
display: flex;
flex-direction: column;
margin: 0.5rem 0 0 0.5rem;
}
/* Chrome & Edge overwrites: Overwrite browser defaults for range input element */
input[type='range']::-webkit-slider-thumb {
-webkit-appearance: none;
pointer-events: all;
width: var(--thumb-width);
height: var(--thumb-width);
margin-top: var(--thumb-margin-top);
background: var(--slider-color);
border: 1px solid var(--slider-highlight-color);
border-radius: 50%;
box-shadow: 1px 1px 2px #9c9c9c;
cursor: pointer;
}
input[type='range']::-webkit-slider-thumb:hover {
box-shadow:
inset 0 0 2px 0 var(--slider-highlight-color),
0 0 4px var(--slider-highlight-color);
border-color: var(--bkg-color);
}
input[type='range']::-webkit-slider-thumb:active {
box-shadow:
inset 0 0 2px 0 var(--slider-highlight-color),
0 0 4px var(--slider-highlight-color);
-webkit-box-shadow:
inset 0 0 2px 0 var(--slider-highlight-color),
0 0 4px var(--slider-highlight-color);
border-color: var(--bkg-color);
}
input[type='range']::-webkit-slider-runnable-track {
height: var(--slider-track-height);
}
/* End of Chrome & Edge rules */
/* Firefox overwrites: Overwrite browser defaults for range input element */
input[type='range']::-moz-range-thumb {
-webkit-appearance: none;
pointer-events: all;
width: var(--thumb-width);
height: var(--thumb-width);
margin-top: var(--thumb-margin-top);
background: var(--slider-color);
border: 1px solid var(--slider-highlight-color);
border-radius: 50%;
cursor: pointer;
}
input[type='range']::-moz-range-thumb:hover {
box-shadow:
inset 0 0 2px 0 var(--slider-highlight-color),
0 0 4px var(--slider-highlight-color);
border-color: var(--bkg-color);
}
input[type='range']::-moz-range-thumb:active {
box-shadow:
inset 0 0 2px 0 var(--slider-highlight-color),
0 0 4px var(--slider-highlight-color);
-webkit-box-shadow:
inset 0 0 2px 0 var(--slider-highlight-color),
0 0 4px var(--slider-highlight-color);
border-color: var(--bkg-color);
}
input[type='range']::-moz-range-track {
height: var(--slider-track-height);
}
/* end of Firefox rules */
input[type='range'] {
-webkit-appearance: none;
appearance: none;
height: var(--slider-track-height);
width: var(--slider-width);
background-color: transparent;
pointer-events: none;
z-index: 2;
margin: 0;
}
#input-upper {
position: absolute;
}
#slider-track {
width: var(--track-width);
margin-left: var(--margin-left);
height: var(--slider-track-height);
position: absolute;
cursor: pointer;
pointer-events: all;
z-index: 0;
border: 1px solid var(--slider-track-border-color);
border-radius: 3px;
}
.slider-label {
width: var(--track-width);
margin: calc(0.25 * var(--thumb-width)) 0 0 var(--margin-left);
display: flex;
justify-content: space-around;
align-items: center;
line-height: 1em;
/* Necessary for alignment */
border: 1px solid transparent;
}
.slider-label.editable {
margin-top: calc(0.5 * var(--thumb-width));
margin-bottom: 0.3rem;
}
.slider-label > input {
line-height: 1em;
text-align: center;
padding: 0;
max-width: 80px;
}
/* Remove input spinners in Chrome, Safari, Edge, Opera */
.slider-label > input::-webkit-outer-spin-button,
.slider-label > input::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
/* Remove input spinners for Firefox */
.slider-label > input[type='number'] {
-moz-appearance: textfield;
}
/* Remove input style if labels can't be edited */
.slider-label > input:disabled {
border-color: transparent;
}
.slider-label > input:disabled:hover {
background-color: initial;
cursor: default;
}
.slider-label > div {
margin: 0 2px;
}