ant-design/components/spin/style/index.less

212 lines
4.1 KiB
Plaintext
Raw Normal View History

2018-12-07 20:02:01 +08:00
@import '../../style/themes/default';
@import '../../style/mixins/index';
2015-10-27 14:01:55 +08:00
2018-12-07 20:02:01 +08:00
@spin-prefix-cls: ~'@{ant-prefix}-spin';
@spin-dot-default: @text-color-secondary;
2015-10-27 10:10:27 +08:00
2015-10-27 14:01:55 +08:00
.@{spin-prefix-cls} {
.reset-component;
color: @primary-color;
2016-02-21 14:40:19 +08:00
vertical-align: middle;
2015-10-27 14:01:55 +08:00
text-align: center;
opacity: 0;
position: absolute;
2016-06-18 15:43:42 +08:00
transition: transform 0.3s @ease-in-out-circ;
2016-08-12 16:36:47 +08:00
display: none;
&-spinning {
opacity: 1;
position: static;
2016-08-12 16:36:47 +08:00
display: inline-block;
}
2015-10-27 10:10:27 +08:00
&-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;
}
}
2017-02-21 15:00:19 +08:00
> 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;
}
}
2017-02-21 15:00:19 +08:00
> 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;
}
2016-06-18 15:43:42 +08:00
}
}
2017-02-21 15:00:19 +08:00
2015-10-31 02:00:03 +08:00
&-container {
position: relative;
2018-12-07 20:02:01 +08:00
transition: opacity 0.3s;
2018-06-15 14:09:19 +08:00
2016-05-27 21:12:13 +08:00
&:after {
2018-12-07 20:02:01 +08:00
content: '';
2016-05-27 21:12:13 +08:00
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: @component-background;
opacity: 0;
pointer-events: none;
2018-12-07 20:02:01 +08:00
transition: all 0.3s;
height: 100%;
width: 100%;
2017-07-07 16:34:47 +08:00
z-index: 10;
display: ~'none \9\0';
2016-05-27 21:12:13 +08:00
}
}
&-blur {
pointer-events: none;
user-select: none;
overflow: hidden;
opacity: 0.5;
&:after {
opacity: 0.4;
pointer-events: auto;
}
}
2016-02-19 20:20:45 +08:00
// tip
// ------------------------------
&-tip {
color: @spin-dot-default;
}
2015-10-27 14:01:55 +08:00
// dots
// ------------------------------
2015-10-27 14:58:04 +08:00
2015-10-27 14:01:55 +08:00
&-dot {
2016-06-18 15:43:42 +08:00
position: relative;
2017-05-23 17:48:13 +08:00
display: inline-block;
font-size: @spin-dot-size;
2016-02-20 16:58:29 +08:00
.square(@spin-dot-size);
i {
2017-01-07 22:03:40 +08:00
width: 9px;
height: 9px;
border-radius: 100%;
2016-06-18 15:43:42 +08:00
background-color: @primary-color;
2017-03-14 15:32:24 +08:00
transform: scale(0.75);
2016-06-18 15:43:42 +08:00
display: block;
position: absolute;
opacity: 0.3;
2017-01-07 22:03:40 +08:00
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;
}
2016-06-18 15:43:42 +08:00
}
&-spin {
transform: rotate(45deg);
animation: antRotate 1.2s infinite linear;
}
2015-10-27 14:01:55 +08:00
}
2015-10-27 10:10:27 +08:00
2015-10-27 14:01:55 +08:00
// Sizes
// ------------------------------
2015-10-27 14:01:55 +08:00
// small
2016-02-20 16:58:29 +08:00
&-sm &-dot {
font-size: @spin-dot-size-sm;
2016-02-20 16:58:29 +08:00
.square(@spin-dot-size-sm);
i {
width: 6px;
height: 6px;
}
2015-10-27 14:01:55 +08:00
}
2015-10-27 10:10:27 +08:00
2015-10-27 14:01:55 +08:00
// large
2016-02-20 16:58:29 +08:00
&-lg &-dot {
font-size: @spin-dot-size-lg;
2016-02-20 16:58:29 +08:00
.square(@spin-dot-size-lg);
i {
2017-01-07 22:03:40 +08:00
width: 14px;
height: 14px;
}
2015-10-27 14:01:55 +08:00
}
&&-show-text &-text {
display: block;
}
2015-10-27 10:10:27 +08:00
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ */
2016-11-07 17:53:12 +08:00
.@{spin-prefix-cls}-blur {
background: @component-background;
opacity: 0.5;
}
}
@keyframes antSpinMove {
to {
opacity: 1;
}
}
@keyframes antRotate {
to {
transform: rotate(405deg);
}
}