amis/scss/components/_spinner.scss

94 lines
1.5 KiB
SCSS

@keyframes rotate {
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(359deg);
}
}
@keyframes spin {
0% {
transform: rotate(0deg);
}
to {
transform: rotate(1turn);
}
}
.is-spin {
animation: spin 2s linear infinite;
}
.#{$ns}Spinner-overlay {
position: absolute;
z-index: 10;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: $Spinner-overlay-bg;
transition: ease-out opacity 0.3s;
opacity: 0;
&.in {
opacity: 1;
}
}
.#{$ns}Spinner {
width: $Spinner-width;
height: $Spinner-height;
transform: translateZ(0);
display: inline-block;
background: $Spinner-bg;
background-size: 100%;
&--lg {
width: $Spinner--lg-width;
height: $Spinner--lg-height;
}
&--sm {
width: $Spinner--sm-width;
height: $Spinner--sm-height;
}
transition: ease-out all 0.3s;
&--icon {
background: transparent;
animation: spin 2s linear infinite;
width: auto;
height: auto;
}
}
// 当启用 overlay 的时候,应该是居中模式。
.#{$ns}Spinner--overlay {
position: absolute;
z-index: 11;
top: 50%;
left: 50%;
transform: translate3d(-50%, -50%, 0);
}
.#{$ns}Spinner--overlay.#{$ns}Spinner--lg {
width: $Spinner--lg-width;
height: $Spinner--lg-height;
line-height: $Spinner--lg-height;
}
@include media-breakpoint-up(md) {
.#{$ns}Layout .#{$ns}Page-body > .#{$ns}Spinner-overlay {
left: $Layout-aside-width;
}
.#{$ns}Layout--folded .#{$ns}Page-body > .#{$ns}Spinner-overlay {
left: $Layout-aside--folded-width;
}
}