mirror of
https://github.com/ant-design/ant-design.git
synced 2024-12-22 14:44:47 +08:00
211 lines
4.1 KiB
Plaintext
211 lines
4.1 KiB
Plaintext
@import '../../style/themes/default';
|
|
@import '../../style/mixins/index';
|
|
|
|
@spin-prefix-cls: ~'@{ant-prefix}-spin';
|
|
@spin-dot-default: @text-color-secondary;
|
|
|
|
.@{spin-prefix-cls} {
|
|
.reset-component;
|
|
color: @primary-color;
|
|
vertical-align: middle;
|
|
text-align: center;
|
|
opacity: 0;
|
|
position: absolute;
|
|
transition: transform 0.3s @ease-in-out-circ;
|
|
display: none;
|
|
|
|
&-spinning {
|
|
opacity: 1;
|
|
position: static;
|
|
display: inline-block;
|
|
}
|
|
|
|
&-nested-loading {
|
|
position: relative;
|
|
> div > .@{spin-prefix-cls} {
|
|
display: block;
|
|
position: absolute;
|
|
height: 100%;
|
|
max-height: 400px;
|
|
width: 100%;
|
|
z-index: 4;
|
|
.@{spin-prefix-cls}-dot {
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
margin: -@spin-dot-size / 2;
|
|
}
|
|
.@{spin-prefix-cls}-text {
|
|
position: absolute;
|
|
top: 50%;
|
|
width: 100%;
|
|
padding-top: (@spin-dot-size - @font-size-base) / 2 + 2px;
|
|
text-shadow: 0 1px 2px @shadow-color-inverse;
|
|
}
|
|
&.@{spin-prefix-cls}-show-text .@{spin-prefix-cls}-dot {
|
|
margin-top: -@spin-dot-size / 2 - 10px;
|
|
}
|
|
}
|
|
|
|
> div > .@{spin-prefix-cls}-sm {
|
|
.@{spin-prefix-cls}-dot {
|
|
margin: -@spin-dot-size-sm / 2;
|
|
}
|
|
.@{spin-prefix-cls}-text {
|
|
padding-top: (@spin-dot-size-sm - @font-size-base) / 2 + 2px;
|
|
}
|
|
&.@{spin-prefix-cls}-show-text .@{spin-prefix-cls}-dot {
|
|
margin-top: -@spin-dot-size-sm / 2 - 10px;
|
|
}
|
|
}
|
|
|
|
> div > .@{spin-prefix-cls}-lg {
|
|
.@{spin-prefix-cls}-dot {
|
|
margin: -@spin-dot-size-lg / 2;
|
|
}
|
|
.@{spin-prefix-cls}-text {
|
|
padding-top: (@spin-dot-size-lg - @font-size-base) / 2 + 2px;
|
|
}
|
|
&.@{spin-prefix-cls}-show-text .@{spin-prefix-cls}-dot {
|
|
margin-top: -@spin-dot-size-lg / 2 - 10px;
|
|
}
|
|
}
|
|
}
|
|
|
|
&-container {
|
|
position: relative;
|
|
transition: opacity 0.3s;
|
|
|
|
&:after {
|
|
content: '';
|
|
position: absolute;
|
|
left: 0;
|
|
right: 0;
|
|
top: 0;
|
|
bottom: 0;
|
|
background: @component-background;
|
|
opacity: 0;
|
|
pointer-events: none;
|
|
transition: all 0.3s;
|
|
height: 100%;
|
|
width: 100%;
|
|
z-index: 10;
|
|
}
|
|
}
|
|
|
|
&-blur {
|
|
pointer-events: none;
|
|
user-select: none;
|
|
overflow: hidden;
|
|
opacity: 0.5;
|
|
|
|
&:after {
|
|
opacity: 0.4;
|
|
pointer-events: auto;
|
|
}
|
|
}
|
|
|
|
// tip
|
|
// ------------------------------
|
|
&-tip {
|
|
color: @spin-dot-default;
|
|
}
|
|
|
|
// dots
|
|
// ------------------------------
|
|
|
|
&-dot {
|
|
position: relative;
|
|
display: inline-block;
|
|
font-size: @spin-dot-size;
|
|
|
|
.square(@spin-dot-size);
|
|
|
|
i {
|
|
width: 9px;
|
|
height: 9px;
|
|
border-radius: 100%;
|
|
background-color: @primary-color;
|
|
transform: scale(0.75);
|
|
display: block;
|
|
position: absolute;
|
|
opacity: 0.3;
|
|
animation: antSpinMove 1s infinite linear alternate;
|
|
transform-origin: 50% 50%;
|
|
&:nth-child(1) {
|
|
left: 0;
|
|
top: 0;
|
|
}
|
|
&:nth-child(2) {
|
|
right: 0;
|
|
top: 0;
|
|
animation-delay: 0.4s;
|
|
}
|
|
&:nth-child(3) {
|
|
right: 0;
|
|
bottom: 0;
|
|
animation-delay: 0.8s;
|
|
}
|
|
&:nth-child(4) {
|
|
left: 0;
|
|
bottom: 0;
|
|
animation-delay: 1.2s;
|
|
}
|
|
}
|
|
|
|
&-spin {
|
|
transform: rotate(45deg);
|
|
animation: antRotate 1.2s infinite linear;
|
|
}
|
|
}
|
|
|
|
// Sizes
|
|
// ------------------------------
|
|
|
|
// small
|
|
&-sm &-dot {
|
|
font-size: @spin-dot-size-sm;
|
|
|
|
.square(@spin-dot-size-sm);
|
|
i {
|
|
width: 6px;
|
|
height: 6px;
|
|
}
|
|
}
|
|
|
|
// large
|
|
&-lg &-dot {
|
|
font-size: @spin-dot-size-lg;
|
|
|
|
.square(@spin-dot-size-lg);
|
|
i {
|
|
width: 14px;
|
|
height: 14px;
|
|
}
|
|
}
|
|
|
|
&&-show-text &-text {
|
|
display: block;
|
|
}
|
|
}
|
|
|
|
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
|
|
/* IE10+ */
|
|
.@{spin-prefix-cls}-blur {
|
|
background: @component-background;
|
|
opacity: 0.5;
|
|
}
|
|
}
|
|
|
|
@keyframes antSpinMove {
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
@keyframes antRotate {
|
|
to {
|
|
transform: rotate(405deg);
|
|
}
|
|
}
|