Jamdesk Documentation logo

iFrames y embeds

Incrusta contenido externo como Vimeo, CodePen, Figma y Loom en tu documentación con estilos automáticos y tamaño responsive.

Cada <iframe> en tu documentación recibe un tratamiento visual predeterminado: esquinas redondeadas, un borde enmarcado y un espaciado que coincide con el resto de tu página. No necesitas agregar divs contenedores ni clases utilitarias para que esto funcione.

Estilos automáticos

Jamdesk aplica un marco consistente a todos los iframes en el momento del renderizado. Esto es lo que recibe cada iframe:

PropiedadValorDescripción
Radio de borde0.5remEsquinas redondeadas en el contenido
Ancho del marco8pxRelleno visual alrededor del contenido
Borde1pxBorde sutil en el color del tema
Espaciado1rem + 9pxMargen superior e inferior

El color del marco proviene de --color-bg-secondary y la línea de borde usa --color-border. Ambas son propiedades CSS personalizadas vinculadas a tu tema, por lo que el modo claro y el modo oscuro obtienen los colores correctos sin ningún trabajo adicional de tu parte.

Incrustar contenido externo

Un embed básico usa una etiqueta HTML iframe estándar:

<iframe
  src="https://example.com/embed"
  width="100%"
  height="400"
  title="Description of embedded content"
/>

Incluye siempre un atributo title. Los lectores de pantalla lo anuncian, y ayuda a cualquier persona que revise el código fuente de tu página a entender qué contiene cada embed.

Tamaño responsive

La mayoría de los proveedores de embeds devuelven contenido con una relación de aspecto fija. La utilidad aspect-video de Tailwind mantiene el iframe en 16:9 independientemente del ancho del viewport, y w-full lo estira para llenar el contenedor padre:

<iframe
  className="w-full aspect-video"
  src="https://example.com/embed"
  title="16:9 responsive embed"
/>

w-full establece width: 100% mediante Tailwind. Sin él, el iframe usa el ancho predeterminado del navegador (generalmente 300px), lo cual se ve mal en pantallas anchas.

Para contenido que no es 16:9 —como un prototipo de Figma o un dashboard— usa la sintaxis de relación de aspecto arbitraria de Tailwind:

<iframe
  className="w-full aspect-[4/3]"
  src="https://example.com/embed"
  title="4:3 responsive embed"
/>

Reemplaza 4/3 con la relación que se adapte al contenido. aspect-[1/1] para embeds cuadrados, aspect-[21/9] para ultrawide, etc.

Vimeo

Los videos de Vimeo se incrustan mediante un iframe estándar que apunta a su URL del reproductor:

<iframe
  className="w-full aspect-video rounded-xl"
  src="https://player.vimeo.com/video/VIDEO_ID"
  title="Vimeo video player"
  allow="autoplay; fullscreen; picture-in-picture"
  allowFullScreen
/>

Reemplaza VIDEO_ID por el ID numérico de cualquier URL de Vimeo (el número después de vimeo.com/). El atributo allow otorga permisos de pantalla completa y picture-in-picture al reproductor incrustado.

Para videos de YouTube, usa el componente dedicado <YouTube> en lugar de un iframe sin procesar. Carga el reproductor de forma diferida y elimina las sugerencias de videos relacionados.

Embeds comunes

Obtén la URL de embed desde el botón "Embed" de CodePen. El parámetro default-tab controla qué panel se muestra primero (result, html, css o js).

<iframe
  height="400"
  style={{width: '100%'}}
  src="https://codepen.io/USERNAME/embed/PEN_ID?default-tab=result"
  title="CodePen Embed"
  allowFullScreen
/>

Los embeds de CodeSandbox admiten parámetros de consulta para el tamaño de fuente, el tema y qué archivo mostrar. El atributo sandbox controla lo que el iframe puede hacer — CodeSandbox necesita varios permisos para ejecutar código en el navegador.

<iframe
  src="https://codesandbox.io/embed/SANDBOX_ID?fontsize=14&theme=dark"
  style={{width: '100%', height: '500px', border: 0, borderRadius: '4px', overflow: 'hidden'}}
  title="CodeSandbox"
  allow="accelerometer; ambient-light-sensor; camera; encrypted-media; geolocation; gyroscope; hid; microphone; midi; payment; usb; vr; xr-spatial-tracking"
  sandbox="allow-forms allow-modals allow-popups allow-presentation allow-same-origin allow-scripts"
/>

Abre un archivo de Figma, haz clic en Share y luego en Get embed code. La URL va en el atributo src. Los embeds de Figma funcionan mejor con una altura de 450px o más — alturas menores recortan la barra de herramientas.

<iframe
  style={{border: '1px solid rgba(0, 0, 0, 0.1)'}}
  width="100%"
  height="450"
  src="https://www.figma.com/embed?embed_host=share&url=FIGMA_URL"
  allowFullScreen
/>

Copia el ID del video desde cualquier enlace compartido de Loom (la cadena después de loom.com/share/). Los embeds de Loom se reproducen automáticamente al pasar el cursor de forma predeterminada.

<iframe
  src="https://www.loom.com/embed/VIDEO_ID"
  width="100%"
  height="400"
  allowFullScreen
/>

¿Qué sigue?

Imágenes

Imágenes en Markdown, dimensiones y pies de foto

Embeds de YouTube

Videos y Shorts de YouTube

Videos

Archivos MP4 y WebM locales