Esqueleto con brillo
Esqueleto con brillo: tarjeta en CSS. Copia las reglas, o el prompt que reproduce el resultado.
CSS
.card-050 {
width: 300px;
padding: 14px;
background: #fff;
border: 1px solid #eee;
border-radius: 14px
}
.card-050__sk {
position: relative;
overflow: hidden;
background: #eceff3;
border-radius: 8px
}
.card-050__sk::after {
content: "";
position: absolute;
inset: 0;
transform: translateX(-100%);
background: linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);
animation: card-050-shimmer 1.4s infinite
}
.card-050__img {
height: 150px;
border-radius: 10px;
margin-bottom: 14px
}
.card-050__line {
height: 12px;
margin: 0 0 10px
}
.card-050__line:last-child {
margin-bottom: 4px
}
@keyframes card-050-shimmer {
to {
transform: translateX(100%)
}
}
@media (prefers-reduced-motion: reduce) {
.card-050, .card-050 * { animation: none; transition: none; }
}
HTML
<article class="card-050" aria-busy="true">
<div class="card-050__img card-050__sk"></div>
<div class="card-050__line card-050__sk" style="width:70%"></div>
<div class="card-050__line card-050__sk"></div>
<div class="card-050__line card-050__sk" style="width:45%"></div>
</article>Prompt
Construye una tarjeta esqueleto de carga de 300px: blanca, borde 1px #eee, radio 14px, padding 14px. Los bloques de relleno son #eceff3 con esquinas redondeadas: un bloque de imagen de 150px, luego tres líneas de 12px de alto al 70%, 100% y 45% de ancho. Cada bloque tiene un brillo: un degradado a 90deg (transparente, blanco 70%, transparente) que barre de izquierda a derecha cada 1.4s vía translateX en un pseudoelemento, recortado con overflow hidden.