zent
Version:
一套前端设计语言和基于React的实现
154 lines (146 loc) • 4.06 kB
CSS
.zent-loading--block {
position: relative;
}
.zent-loading--block .zent-loading-mask {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.zent-loading--block .zent-loading-mask > .zent-loading-icon-and-text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
.zent-loading--block.zent-loading--has-children .zent-loading-mask {
background-color: rgba(255, 255, 255, 0.5);
background-color: rgba(var(--theme-rgb-section-bg, var(--theme-rgb-stroke-9, 255, 255, 255)), 0.5);
}
.zent-loading--inline {
display: inline-block;
}
.zent-loading--fullscreen {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1100;
}
.zent-loading--fullscreen .zent-loading-mask {
background: rgba(0, 0, 0, 0.5);
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
.zent-loading--fullscreen.zent-loading--show-background .zent-loading-icon-and-text {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
padding: 32px;
border-radius: 4px;
}
.zent-loading-icon-youzan {
display: inline-block;
position: relative;
}
.zent-loading-icon-youzan:before, .zent-loading-icon-youzan:after {
display: block;
box-sizing: border-box;
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border-radius: 50%;
}
.zent-loading-icon-youzan:before {
z-index: 2;
border-width: 2px;
border-style: solid;
animation: zent-ani-spin 0.6s cubic-bezier(0, 0, 0.1, 0.1) infinite;
}
.zent-loading-icon-youzan:after {
box-shadow: 0 2px 16px 0 rgba(0, 0, 0, 0.1);
box-shadow: var(--shadow-spec-layer, 0 2px 16px 0 rgba(var(--theme-rgb-shadow-bg, 0, 0, 0), 0.1));
z-index: 1;
}
.zent-loading-icon-youzan-svg {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: 3;
}
.zent-loading-icon-circle {
display: inline-block;
animation: zent-ani-spin 0.6s cubic-bezier(0, 0, 0.1, 0.1) infinite;
}
.zent-loading-icon-and-text {
color: #333;
color: var(--theme-title-color, var(--theme-stroke-1, #333));
display: flex;
align-items: center;
justify-content: center;
}
.zent-loading-icon-and-text--bottom {
flex-direction: column;
}
.zent-loading-icon-and-text--bottom .zent-loading-icon-text {
margin-top: 4px;
}
.zent-loading-icon-and-text--top {
flex-direction: column;
}
.zent-loading-icon-and-text--top .zent-loading-icon-text {
margin-bottom: 4px;
order: 1;
}
.zent-loading-icon-and-text--top .zent-loading-icon {
order: 2;
}
.zent-loading-icon-and-text--right .zent-loading-icon-text {
margin-left: 6px;
}
.zent-loading-icon-and-text--left .zent-loading-icon {
order: 2;
}
.zent-loading-icon-and-text--left .zent-loading-icon-text {
order: 1;
margin-right: 6px;
}
.zent-loading-color-preset--primary .zent-loading-icon-circle + .zent-loading-icon-text {
color: #155bd4;
color: var(--theme-primary-bg, var(--theme-primary-4, #155bd4));
}
.zent-loading-color-preset--primary .zent-loading-icon-youzan:before {
border-color: transparent;
border-right-color: #e00;
}
.zent-loading-color-preset--primary .zent-loading-icon-youzan:after {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-loading-color-preset--primary .zent-loading-icon-youzan-svg {
fill: #e00;
}
.zent-loading-color-preset--grey .zent-loading-icon-text {
color: #999;
color: var(--theme-hint-color, var(--theme-stroke-3, #999));
}
.zent-loading-color-preset--grey .zent-loading-icon-youzan:before {
border-color: transparent;
border-right-color: #ccc;
border-right-color: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}
.zent-loading-color-preset--grey .zent-loading-icon-youzan:after {
background-color: #fff;
background-color: var(--theme-section-bg, var(--theme-stroke-9, #fff));
}
.zent-loading-color-preset--grey .zent-loading-icon-youzan-svg {
fill: #ccc;
fill: var(--theme-disabled-color, var(--theme-stroke-4, #ccc));
}