# Skeleton com reflexo (C 050)

Categoria: Cards  
Tags: skeleton, loading, shimmer, placeholder, animated  
Página: https://designforai.dev/pt/snippet/card-050

## Prompt

Construa um card de carregamento skeleton de 300px: branco, borda de 1px #eee, raio de 14px, padding de 14px. Os blocos placeholder são #eceff3 com cantos arredondados: um bloco de imagem de 150px, depois três linhas de 12px de altura com 70%, 100% e 45% de largura. Cada bloco tem um reflexo: um gradiente de 90deg (transparente, branco 70%, transparente) varrendo da esquerda para a direita a cada 1.4s via translateX em um pseudo-elemento, recortado por overflow hidden.

## HTML

```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>
```

## CSS

```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; }
}
```
