<div class="skeleton">
<div class="skeleton__line">
<div class="skeleton__circle"></div>
<div class="skeleton__group">
<div class="skeleton__bar skeleton__bar_small"></div>
<div class="skeleton__bar skeleton__bar_medium"></div>
</div>
</div>
<div class="skeleton__group">
<div class="skeleton__bar skeleton__bar_big"></div>
<div class="skeleton__bar skeleton__bar_full"></div>
</div>
</div>
.skeleton {
border: 1px solid var(--grey-3);
border-radius: 8px;
padding: 24px 24px 32px 24px;
}
.skeleton__line {
display: flex;
align-items: center;
gap: 16px;
}
.skeleton__line + .skeleton__line {
margin-top: 16px;
}
.skeleton__line + .skeleton__group {
margin-top: 16px;
}
.skeleton__group {
flex-grow: 1;
}
.skeleton__circle {
width: 64px;
height: 64px;
border-radius: 32px;
background-repeat: repeat-x;
background: linear-gradient(
90deg,
#dde2e5 6.44%,
#e2e6e8 38.47%,
#f3f5f5 56.48%,
#e3e7ea 77.5%,
#dde2e5 102.52%
);
animation: 90s linear 0s infinite normal skeletonBackground;
}
.skeleton__bar {
min-height: 20px;
background-repeat: repeat-x;
background: linear-gradient(
90deg,
#dde2e5 6.44%,
#e2e6e8 38.47%,
#f3f5f5 56.48%,
#e3e7ea 77.5%,
#dde2e5 102.52%
);
animation: 50s linear 0s infinite normal skeletonBackground;
}
@media screen and (max-width: 768px) {
.skeleton__circle {
animation: 30s linear 0s infinite normal skeletonBackground;
}
.skeleton__bar {
animation: 20s linear 0s infinite normal skeletonBackground;
}
}
.skeleton__bar + .skeleton__bar {
margin-top: 8px;
}
.skeleton__bar_small {
width: 25%;
}
.skeleton__bar_medium {
width: 50%;
}
.skeleton__bar_big {
width: 75%;
}
.skeleton__bar_full {
width: 100%;
}
@keyframes skeletonBackground {
from {
background-position: 0vw;
}
to {
background-position: 110vw;
}
}
.skeleton_preview {
width: 100%;
margin: 0 25px 0 25px;
}