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

162 lines
3.2 KiB
Plaintext
Raw Normal View History

@import "../../style/themes/default";
@import "../../style/mixins/index";
2015-10-27 14:01:55 +08:00
@spin-prefix-cls: ~"@{ant-prefix}-spin";
@spin-dot-default: #999;
2016-06-18 15:43:42 +08:00
@spin-dot-size-sm: 12px;
@spin-dot-size: 20px;
@spin-dot-size-lg: 32px;
2015-10-27 10:10:27 +08:00
2015-10-27 14:01:55 +08:00
.@{spin-prefix-cls} {
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-02-21 14:40:19 +08:00
font-size: @font-size-base;
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;
}
2015-10-31 02:00:03 +08:00
&-nested-loading & {
position: absolute;
height: 100%;
2016-02-21 15:02:11 +08:00
width: 100%;
z-index: 4;
2016-06-18 15:43:42 +08:00
&-dot {
position: absolute;
top: 50%;
left: 50%;
margin: -@spin-dot-size / 2;
}
&-sm .@{spin-prefix-cls}-dot {
margin: -@spin-dot-size-sm / 2;
}
&-lg .@{spin-prefix-cls}-dot {
margin: -@spin-dot-size-lg / 2;
}
&-show-text .@{spin-prefix-cls}-dot {
margin: -@spin-dot-size / 2 - @font-size-base / 2;
}
&-show-text.@{spin-prefix-cls}-sm .@{spin-prefix-cls}-dot {
margin: -@spin-dot-size-sm / 2 - @font-size-base / 2;
}
&-show-text.@{spin-prefix-cls}-lg .@{spin-prefix-cls}-dot {
margin: -@spin-dot-size-lg / 2 - @font-size-base / 2;
}
&-text {
position: absolute;
top: 50%;
width: 100%;
padding-top: (@spin-dot-size - @font-size-base) / 2;
}
&-sm .@{spin-prefix-cls}-text {
padding-top: (@spin-dot-size-sm - @font-size-base) / 2;
}
&-lg .@{spin-prefix-cls}-text {
padding-top: (@spin-dot-size-lg - @font-size-base) / 2;
2016-06-18 15:43:42 +08:00
}
}
2015-10-31 02:00:03 +08:00
&-container {
transition: all 0.3s @ease-in-out-circ;
2015-10-31 02:00:03 +08:00
}
&-nested-loading > &-container {
2015-10-31 02:00:03 +08:00
opacity: 0.7;
2016-02-21 14:40:19 +08:00
-webkit-filter: blur(1px);
2015-10-31 02:00:03 +08:00
filter: blur(1px);
filter: ~"progid\:DXImageTransform\.Microsoft\.Blur(PixelRadius\=1, MakeShadow\=false)"; /* IE6~IE9 */
2016-05-27 21:12:13 +08:00
position: relative;
&:after {
content: '';
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
background: transparent;
}
}
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;
display: block;
2016-02-20 16:58:29 +08:00
.square(@spin-dot-size);
2016-06-18 15:43:42 +08:00
&:before,
&:after {
content: '';
border-radius: 50%;
background-color: @primary-color;
animation: antSpinBounce 2.2s infinite ease-in-out;
display: block;
position: absolute;
opacity: 0.5;
top: 0;
left: 0;
bottom: 0;
right: 0;
}
&:after {
animation-delay: -1.1s;
}
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
// ------------------------------
// small
2016-02-20 16:58:29 +08:00
&-sm &-dot {
.square(@spin-dot-size-sm);
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 {
.square(@spin-dot-size-lg);
2015-10-27 14:01:55 +08:00
}
&&-show-text &-text {
display: block;
}
2015-10-27 10:10:27 +08:00
}
2016-06-18 15:43:42 +08:00
@keyframes antSpinBounce {
2015-11-26 19:32:55 +08:00
0%,
100% {
2016-06-18 15:43:42 +08:00
transform: scale(0);
2015-11-26 19:32:55 +08:00
}
2016-06-18 15:43:42 +08:00
50% {
transform: scale(1);
2015-11-26 19:32:55 +08:00
}
2015-10-27 10:10:27 +08:00
}
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
/* IE10+ */
.@{ant-prefix}-spin-nested-loading > .@{ant-prefix}-spin-container {
background: #fff;
opacity: 0.5;
}
}