diff options
Diffstat (limited to 'src/sass/bootstrap4/_progress.scss')
| -rw-r--r-- | src/sass/bootstrap4/_progress.scss | 156 |
1 files changed, 156 insertions, 0 deletions
diff --git a/src/sass/bootstrap4/_progress.scss b/src/sass/bootstrap4/_progress.scss new file mode 100644 index 0000000..61e13b0 --- /dev/null +++ b/src/sass/bootstrap4/_progress.scss @@ -0,0 +1,156 @@ +// +// Progress animations +// + +@keyframes progress-bar-stripes { + from { background-position: $spacer-y 0; } + to { background-position: 0 0; } +} + + +// +// Basic progress bar +// + +.progress { + display: block; + width: 100%; + height: $spacer-y; // todo: make a new var for this + margin-bottom: $spacer-y; +} +.progress[value] { + // IE10 uses `color` to set the bar background-color + color: #0074d9; + // Remove Firefox and Opera border + border: 0; + // Reset the default appearance + appearance: none; +} +.progress[value]::-webkit-progress-bar { + background-color: #eee; + @include border-radius($border-radius); + @include box-shadow(inset 0 .1rem .1rem rgba(0,0,0,.1)); +} +.progress[value]::-webkit-progress-value::before { + content: attr(value); +} +.progress[value]::-webkit-progress-value { + background-color: #0074d9; + border-top-left-radius: $border-radius; + border-bottom-left-radius: $border-radius; +} +.progress[value="100"]::-webkit-progress-value { + border-top-right-radius: $border-radius; + border-bottom-right-radius: $border-radius; +} + +// Firefox styles must be entirely separate or it busts Webkit styles. +// +// Commented out for now because linter. +// +// $-moz-document url-prefix() { +// .progress[value] { +// background-color: #eee; +// .border-radius($border-radius); +// .box-shadow(inset 0 .1rem .1rem rgba(0,0,0,.1)); +// } +// .progress[value]::-moz-progress-bar { +// background-color: #0074d9; +// border-top-left-radius: $border-radius; +// border-bottom-left-radius: $border-radius; +// } +// .progress[value="0"]::-moz-progress-bar { +// color: $gray-light; +// min-width: 2rem; +// background-color: transparent; +// background-image: none; +// } +// .progress[value="100"]::-moz-progress-bar { +// border-top-right-radius: $border-radius; +// border-bottom-right-radius: $border-radius; +// } +// } + +// IE9 hacks to accompany custom markup. We don't need to scope this via media queries, but I feel better doing it anyway. +@media screen and (min-width:0\0) { + .progress { + background-color: #eee; + @include border-radius($border-radius); + @include box-shadow(inset 0 .1rem .1rem rgba(0,0,0,.1)); + } + .progress-bar { + display: inline-block; + height: $spacer-y; + text-indent: -999rem; // Simulate hiding of value as in native `<progress>` + background-color: #0074d9; + border-top-left-radius: $border-radius; + border-bottom-left-radius: $border-radius; + } + .progress[width^="0"] { + min-width: 2rem; + color: $gray-light; + background-color: transparent; + background-image: none; + } + .progress[width="100%"] { + border-top-right-radius: $border-radius; + border-bottom-right-radius: $border-radius; + } +} + + +// +// Striped +// + +.progress-striped[value]::-webkit-progress-value { + @include gradient-striped(); + background-size: $spacer-y $spacer-y; +} +.progress-striped[value]::-moz-progress-bar { + @include gradient-striped(); + background-size: $spacer-y $spacer-y; +} +// IE9 +@media screen and (min-width:0\0) { + .progress-bar-striped { + @include gradient-striped(); + background-size: $spacer-y $spacer-y; + } +} + + +// +// Animated +// + +.progress-animated[value]::-webkit-progress-value { + animation: progress-bar-stripes 2s linear infinite; +} +.progress-animated[value]::-moz-progress-bar { + animation: progress-bar-stripes 2s linear infinite; +} +// IE9 +@media screen and (min-width:0\0) { + .progress-animated .progress-bar-striped { + animation: progress-bar-stripes 2s linear infinite; + } +} + + +// +// Variations +// + +.progress-success { + @include progress-variant($progress-bar-success-bg); +} +.progress-info { + @include progress-variant($progress-bar-info-bg); +} +.progress-warning { + @include progress-variant($progress-bar-warning-bg); +} +.progress-danger { + @include progress-variant($progress-bar-danger-bg); +} |
