Playground de :buffering en CSS

Explora :buffering con elementos <audio> y <video>. Cambia el estilo que se aplica cuando el navegador necesita más datos antes de continuar.

Preguntar a la IA

Playground de :buffering en CSS

Respuesta generada con openai/gpt-5.4-nano. La IA puede cometer errores. Revisa siempre el resultado.

El buffering real depende de red, caché y tamaño del recurso. Usa la simulación para revisar el tratamiento visual.

Video
Audio

:buffering puede no aparecer con recursos locales o ya cacheados, aunque el CSS generado sigue apuntando al estado real.

HTML
<section class="media-state-demo">
  <video class="media-sample" controls muted playsinline preload="metadata" src="/media/demo-video.mp4"></video>
  <audio class="media-sample" controls preload="metadata" src="/media/demo-audio.mp3"></audio>
</section>
Tailwind CSS
Algunas clases con valores arbitrarios pueden sustituirse por clases nativas, según el valor y la configuración de Tailwind CSS.
<section class="grid max-w-[44rem] gap-4">
  <video class="w-full rounded-2xl border-2 border-[color-mix(in_srgb,_currentColor_24%,_transparent)] bg-[Canvas] transition duration-200 [&:buffering]:border-[#6d5dfc] [&:buffering]:bg-[#e9f8ff] [&:buffering]:shadow-[0_0_0_4px_color-mix(in_srgb,_#6d5dfc_42%,_transparent)] [&:buffering]:scale-[1.02]" controls muted playsinline preload="metadata" src="/media/demo-video.mp4"></video>
  <audio class="w-full rounded-2xl border-2 border-[color-mix(in_srgb,_currentColor_24%,_transparent)] bg-[Canvas] transition duration-200 [&:buffering]:border-[#6d5dfc] [&:buffering]:bg-[#e9f8ff] [&:buffering]:shadow-[0_0_0_4px_color-mix(in_srgb,_#6d5dfc_42%,_transparent)] [&:buffering]:scale-[1.02]" controls preload="metadata" src="/media/demo-audio.mp3"></audio>
</section>
CSS
.media-state-demo {
  display: grid;
  gap: 1rem;
  max-inline-size: 44rem;
}

.media-state-demo :where(video.media-sample, audio.media-sample) {
  inline-size: 100%;
  border: 2px solid color-mix(in srgb, currentColor 24%, transparent);
  border-radius: 1rem;
  background-color: Canvas;
  transition: border-color 200ms ease, box-shadow 200ms ease, scale 200ms ease;
}

.media-state-demo :where(video.media-sample, audio.media-sample):buffering {
  border-color: #6d5dfc;
  background-color: #e9f8ff;
  box-shadow: 0 0 0 4px color-mix(in srgb, #6d5dfc 42%, transparent);
  scale: 1.02;
}