Cómo centrar un iframe en HTML (horizontal y vertical)
Un <iframe> incrusta otra página web dentro de la tuya. Centrarlo requiere CSS moderno (Flexbox/Grid), no atributos obsoletos como align="middle" (HTML4, deprecado). Aquí las mejores técnicas actuales.
Centrar horizontalmente (lo más común)
Método 1: Flexbox en el contenedor (recomendado)
<div class="iframe-container">
<iframe src="https://ejemplo.com" title="Descripción" loading="lazy"></iframe>
</div>
<style>
.iframe-container {
display: flex;
justify-content: center; /* centrado horizontal */
/* align-items: center; /* si también quieres centrado vertical (ver abajo) */
width: 100%;
}
iframe {
max-width: 100%; /* responsive: no se desborda en móvil */
border: none;
}
</style>
Método 2: Grid (una línea)
.iframe-container {
display: grid;
place-items: center; /* centra horizontal Y vertical */
}
iframe { max-width: 100%; }
Método 3: Margin auto (si iframe es block)
iframe {
display: block;
margin-left: auto;
margin-right: auto;
max-width: 100%;
}
Requiere ancho definido (px o %) en el iframe o contenedor.
Centrar horizontal Y vertical (pantalla completa / modal)
.iframe-modal {
position: fixed;
inset: 0; /* top:0; right:0; bottom:0; left:0; */
display: flex;
justify-content: center;
align-items: center;
background: rgba(0,0,0,0.8); /* overlay opcional */
z-index: 1000;
}
.iframe-modal iframe {
max-width: 90vw;
max-height: 90vh;
width: 800px; /* ancho deseado */
height: 600px; /* alto deseado */
border: none;
border-radius: 8px;
}
Centrar el CONTENIDO dentro del iframe
No puedes desde la página padre (política de mismo origen / Same-Origin Policy). Solo si controlas la página incrustada:
- En la página hija:
body { display: flex; justify-content: center; align-items: center; min-height: 100vh; margin: 0; } - O en el iframe:
<iframe src="pagina.html" style="display:flex; justify-content:center; align-items:center;">NO FUNCIONA (el estilo se aplica al iframe, no a su contenido).
Responsive: Aspect-ratio (16:9, 4:3, 1:1)
.iframe-responsive {
position: relative;
width: 100%;
aspect-ratio: 16 / 9; /* mantiene proporción */
}
.iframe-responsive iframe {
position: absolute;
inset: 0;
width: 100%;
height: 100%;
border: none;
}
/* Centrado horizontal del contenedor responsive */
.wrapper { max-width: 800px; margin: 0 auto; }
Atributos importantes del iframe (accesibilidad, seguridad, rendimiento)
<iframe
src="https://ejemplo.com"
title="Descripción significativa del contenido" /* OBLIGATORIO para accesibilidad (WCAG) */
loading="lazy" /* Carga diferida (offscreen) */
sandbox="allow-scripts allow-same-origin allow-forms allow-popups" /* Restringe capacidades */
referrerpolicy="no-referrer-when-downgrade"
allow="fullscreen; picture-in-picture" /* Permisos de características */
width="800" height="450" /* Fallback para layout antes de CSS */
style="max-width:100%; border:none;"
></iframe>
Tabla: Qué NO uses (obsoleto / malas prácticas)
| Obsoleto | Por qué | Alternativa moderna |
|---|---|---|
align="middle" / align="center" | Atributo HTML4 deprecado, no estándar HTML5 | CSS Flexbox/Grid/margin-auto |
<center><iframe></center> | Etiqueta <center> obsoleta (HTML5) | CSS en contenedor |
frameborder="0" | Atributo obsoleto | CSS: border: none; |
scrolling="no" | Atributo obsoleto | CSS: overflow: hidden; en página hija o scrolling="no" solo si necesario (evita) |
Consejo
Siempre pon title descriptivo en el iframe (lectores de pantalla). Usa sandbox con los mínimos permisos necesarios. Para YouTube/Vimeo/Mapas, usa sus códigos de inserción (embed) ya optimizados.
- ·Cómo enviar una página a un buscapersonas (beeper)
- ·Cómo utilizar un Garmin eTrex
- ·Cómo instalar Media Center
- ·Cómo centrar una cámara dentro de un tubo o tubería
- ·Cómo configurar correctamente un altavoz central
- ·Cómo conectar un altavoz central a receptor surround
- ·Cómo responder a los mensajes de Amazon
- ·Cómo imprimir una página en blanco en Word
- Cómo localizar a alguien mediante un localizador (beeper/pager)
- Cómo crear una página de causa en Facebook
- Cómo añadir una página web a favoritos/marcadores
- Cómo habilitar JavaScript en Firefox
- Usar una impresora por primera vez en Windows 10/11 (instalación, impresión, mantenimiento)
- Cómo centrar un documento en Microsoft Excel
