@gravity-ui/uikit
Version:
Gravity UI base styling and components
44 lines (43 loc) • 1.04 kB
CSS
.g-skeleton {
--_--animation-from: calc(-100% * var(--g-flow-direction));
--_--animation-to: calc(100% * var(--g-flow-direction));
--_--gradient-deg: calc(90deg * var(--g-flow-direction));
display: inline-block;
position: relative;
z-index: 0;
width: 100%;
border-radius: 5px;
overflow: hidden;
background-color: var(--g-color-base-generic);
}
.g-skeleton_animation_gradient::after {
position: absolute;
inset: 0;
content: "";
background-image: linear-gradient(var(--_--gradient-deg), transparent, var(--g-color-base-generic));
animation: g-skeleton 1.2s ease-out infinite;
}
@media (prefers-reduced-motion: reduce) {
.g-skeleton_animation_gradient::after {
animation: none;
}
}
.g-skeleton_animation_pulse {
animation: g-skeletonPulse 1.5s infinite linear;
}
@keyframes g-skeleton {
0% {
transform: translateX(var(--_--animation-from));
}
100% {
transform: translateX(var(--_--animation-to));
}
}
@keyframes g-skeletonPulse {
0% {
opacity: 1;
}
50% {
opacity: 0.5;
}
}