| // |
| // Rotating border |
| // |
| |
| // scss-docs-start spinner-border-keyframes |
| @keyframes spinner-border { |
| to { transform: rotate(360deg) #{"/* rtl:ignore */"}; } |
| } |
| // scss-docs-end spinner-border-keyframes |
| |
| .spinner-border { |
| display: inline-block; |
| width: $spinner-width; |
| height: $spinner-height; |
| vertical-align: $spinner-vertical-align; |
| border: $spinner-border-width solid currentColor; |
| border-right-color: transparent; |
| // stylelint-disable-next-line property-disallowed-list |
| border-radius: 50%; |
| animation: $spinner-animation-speed linear infinite spinner-border; |
| } |
| |
| .spinner-border-sm { |
| width: $spinner-width-sm; |
| height: $spinner-height-sm; |
| border-width: $spinner-border-width-sm; |
| } |
| |
| // |
| // Growing circle |
| // |
| |
| // scss-docs-start spinner-grow-keyframes |
| @keyframes spinner-grow { |
| 0% { |
| transform: scale(0); |
| } |
| 50% { |
| opacity: 1; |
| transform: none; |
| } |
| } |
| // scss-docs-end spinner-grow-keyframes |
| |
| .spinner-grow { |
| display: inline-block; |
| width: $spinner-width; |
| height: $spinner-height; |
| vertical-align: $spinner-vertical-align; |
| background-color: currentColor; |
| // stylelint-disable-next-line property-disallowed-list |
| border-radius: 50%; |
| opacity: 0; |
| animation: $spinner-animation-speed linear infinite spinner-grow; |
| } |
| |
| .spinner-grow-sm { |
| width: $spinner-width-sm; |
| height: $spinner-height-sm; |
| } |
| |
| @if $enable-reduced-motion { |
| @media (prefers-reduced-motion: reduce) { |
| .spinner-border, |
| .spinner-grow { |
| animation-duration: $spinner-animation-speed * 2; |
| } |
| } |
| } |