90 lines
2.1 KiB
SCSS
90 lines
2.1 KiB
SCSS
|
/**
|
|||
|
* Progress
|
|||
|
*/
|
|||
|
|
|||
|
// Reboot based on :
|
|||
|
// - normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
|
|||
|
// - sanitize.css v13.0.0 | CC0 1.0 Universal | github.com/csstools/sanitize.css
|
|||
|
// ––––––––––––––––––––
|
|||
|
|
|||
|
// 1. Add the correct display in Edge 18- and IE
|
|||
|
// 2. Add the correct vertical alignment in Chrome, Edge, and Firefox
|
|||
|
progress {
|
|||
|
display: inline-block; // 1
|
|||
|
vertical-align: baseline; // 2
|
|||
|
}
|
|||
|
|
|||
|
// Pico
|
|||
|
// ––––––––––––––––––––
|
|||
|
|
|||
|
progress {
|
|||
|
// Reset the default appearance
|
|||
|
-webkit-appearance: none;
|
|||
|
-moz-appearance: none;
|
|||
|
|
|||
|
// Styles
|
|||
|
display: inline-block;
|
|||
|
appearance: none;
|
|||
|
width: 100%;
|
|||
|
height: 0.5rem;
|
|||
|
margin-bottom: calc(var(--spacing) * 0.5);
|
|||
|
overflow: hidden;
|
|||
|
|
|||
|
// Remove Firefox and Opera border
|
|||
|
border: 0;
|
|||
|
border-radius: var(--border-radius);
|
|||
|
background-color: var(--progress-background-color);
|
|||
|
|
|||
|
// IE10 uses `color` to set the bar background-color
|
|||
|
color: var(--progress-color);
|
|||
|
|
|||
|
&::-webkit-progress-bar {
|
|||
|
border-radius: var(--border-radius);
|
|||
|
background: none;
|
|||
|
}
|
|||
|
&[value]::-webkit-progress-value {
|
|||
|
background-color: var(--progress-color);
|
|||
|
}
|
|||
|
&::-moz-progress-bar {
|
|||
|
background-color: var(--progress-color);
|
|||
|
}
|
|||
|
|
|||
|
// Indeterminate state
|
|||
|
@media (prefers-reduced-motion: no-preference) {
|
|||
|
&:indeterminate {
|
|||
|
background: var(--progress-background-color)
|
|||
|
linear-gradient(
|
|||
|
to right,
|
|||
|
var(--progress-color) 30%,
|
|||
|
var(--progress-background-color) 30%
|
|||
|
)
|
|||
|
top left / 150% 150% no-repeat;
|
|||
|
animation: progress-indeterminate 1s linear infinite;
|
|||
|
|
|||
|
&[value]::-webkit-progress-value {
|
|||
|
background-color: transparent;
|
|||
|
}
|
|||
|
&::-moz-progress-bar {
|
|||
|
background-color: transparent;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
[dir="rtl"] {
|
|||
|
@media (prefers-reduced-motion: no-preference) {
|
|||
|
progress:indeterminate {
|
|||
|
animation-direction: reverse;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
@keyframes progress-indeterminate {
|
|||
|
0% {
|
|||
|
background-position: 200% 0;
|
|||
|
}
|
|||
|
100% {
|
|||
|
background-position: -200% 0;
|
|||
|
}
|
|||
|
}
|