Crear una Ventana Emergente para una Web

Crear una Ventana Emergente para una Web

Crear una Ventana Emergente para una Web. ¿Quieres darle a tu página web un aviso importante o un formulario de suscripción que no pase desapercibido? ¡La solución es una ventana modal!

En este tutorial, te proporcionamos un script completo y listo para usar que te permitirá implementar una ventana modal (o pop-up) en cualquier página web. Utilizando una combinación de HTML, CSS y JavaScript, este código es ligero, eficiente y no requiere bibliotecas externas como jQuery. Aprende a crear un cuadro de diálogo que se superpone al contenido principal de la página, ideal para notificaciones, formularios de suscripción o galerías de imágenes. A continuación, encontrarás el código fuente completo y una explicación paso a paso para su correcta integración.

  1. HTML: La estructura básica de la página, que incluye un botón para abrir la ventana modal y el contenido de la ventana en sí.
  2. CSS: Los estilos para hacer que la ventana modal se vea bien y se posicione correctamente en la pantalla, oscureciendo el fondo para destacar el contenido.
  3. JavaScript: La lógica para abrir y cerrar la ventana cuando el usuario hace clic en los botones.

Copia este código y pégalo en un archivo llamado index.html. Aquí tenemos el botón que activa el modal y la estructura del modal con un botón para cerrarlo.

HTML


Crea un nuevo archivo llamado style.css y pega el siguiente código. Este CSS se encarga de que la ventana modal esté oculta por defecto y se muestre correctamente sobre el resto del contenido cuando se active.

CSS


Crea un archivo llamado script.js y copia el siguiente código. Este script se encarga de buscar los elementos de HTML y de asignarles las acciones necesarias para mostrar y ocultar la ventana.

JavaScript


Instala los tres archivo dentro de una misma carpeta.

  1. El archivo index.html enlaza a los archivos style.css y script.js.
  2. El CSS oculta la ventana modal por defecto (display: none;).
  3. Cuando el usuario hace clic en el botón con id="abrirModalBtn", el JavaScript captura ese evento.
  4. El script cambia la propiedad display del modal de none a block, lo que lo hace visible.
  5. Cuando el usuario hace clic en la × (class="cerrarBtn") o en el área oscura fuera de la ventana, el JavaScript vuelve a cambiar el display del modal a none, ocultándolo.

Este script es un excelente punto de partida. Puedes modificar fácilmente el contenido dentro de la etiqueta <div class="modal-contenido"> para mostrar lo que necesites, ya sea un formulario, un mensaje o una imagen.


Aquí tienes un ejemplo de un código completo en HTML para incrustar una ventana modal directamente en una página web existente. Este código incluye el HTML, el CSS y el JavaScript necesarios, todo en un solo archivo, lo que facilita su integración.

Puedes copiar este código y pegarlo en cualquier parte del <body> de tu página.

HTML


  • <style>: Enlaza los estilos CSS directamente en la sección <head> de la página. Esto es útil para proyectos pequeños o para incrustar rápidamente sin crear archivos externos.
  • <div id="miModal">: La estructura de la ventana modal se coloca en el <body>, lista para ser mostrada u ocultada.
  • <script>: El código JavaScript se encuentra al final del <body>, lo que asegura que el script se ejecute después de que los elementos HTML hayan sido cargados.

Simplemente copia y pega este código en tu archivo HTML. Puedes modificar el contenido dentro de <div class="modal-contenido"> para adaptarlo a tus necesidades.

Aquí tienes unas instrucciones detalladas para personalizar el script de la ventana modal que te proporcioné. Podrás cambiar el contenido, los colores, el tamaño y el comportamiento para adaptarlo a las necesidades de tu sitio web.


Puedes cambiar completamente el contenido que se muestra dentro de la ventana modal. Abre tu archivo HTML y busca el siguiente bloque:

HTML

<div class="modal-contenido">
    <span class="cerrarBtn">&times;</span>
    <h2>¡Hola desde el Modal!</h2>
    <p>Este es el contenido que quieres destacar. Aquí puedes poner un formulario, una imagen, o un aviso importante.</p>
    <p>Este código está completamente contenido en un solo bloque, ideal para incrustar.</p>
</div>

  • Título (<h2>): Reemplaza ¡Hola desde el Modal! por un título relevante para tu mensaje, como «¡Bienvenido!», «Suscríbete a nuestro boletín» o «Aviso Importante».
  • Texto (<p>): Modifica los párrafos para que contengan la información que deseas comunicar.
  • Formularios: Inserta un formulario completo para captar datos.

Por ejemplo:

HTML

<form action="/enviar_formulario" method="post"> <label for="email">Email:</label><br> <input type="email" id="email" name="email"><br><br> <input type="submit" value="Suscribirme"> </form>

  • Imágenes: Agrega una imagen para promocionar un producto o mostrar una vista ampliada:HTML<img src="URL_DE_TU_IMAGEN.jpg" alt="Descripción de la imagen" style="max-width: 100%; height: auto;">

El bloque <style> es donde puedes modificar la apariencia de la ventana modal.

Fondo de la ventana: En la clase .modal, cambia el valor de background-color.

CSS

.modal { /* Fondo semi-transparente de la pantalla */ background-color: rgba(0,0,0,0.7); /* Más oscuro */ }


Fondo del contenido: En la clase .modal-contenido, cambia el background-color.

CSS

.modal-contenido { /* Fondo del cuadro de diálogo */ background-color: #f0f8ff; /* Un color más claro */ }


Color del botón «Cerrar» (&times;): En la clase .cerrarBtn, cambia el color.

CSS

.cerrarBtn { color: #ff0000; /* Color rojo */ }


Ancho de la ventana: En la clase .modal-contenido, ajusta width y max-width.

CSS

.modal-contenido { width: 60%; /* Hace el modal más estrecho */ max-width: 400px; /* Ancho máximo en pantallas grandes */ }


Posición vertical: En la clase .modal-contenido, modifica margin-top.

CSS

.modal-contenido { margin: 10% auto; /* Lo mueve más arriba en la pantalla */ }


El bloque <script> al final del <body> controla cuándo se abre y se cierra la ventana.

Actualmente, la ventana se abre con un clic en el botón. Si quieres que la ventana se abra automáticamente al cargar la página, puedes modificar el JavaScript.

Para que se abra al cargar la página: Elimina la línea botonAbrir.onclick = ... y añade este código después de definir la variable modal.

.JavaScript

// Hacer que la ventana modal se abra automáticamente window.onload = function() { modal.style.display = 'block'; };


Puedes evitar que la ventana se cierre al hacer clic fuera de ella. Esto es útil para formularios obligatorios o avisos importantes que requieren una acción del usuario.

Para evitar que se cierre al hacer clic fuera: Simplemente elimina o comenta el siguiente bloque de código

.JavaScript

// Cuando el usuario hace clic fuera de la ventana, también la cierra /* window.onclick = function(event) { if (event.target == modal) { modal.style.display = 'none'; } }; */

Con estas instrucciones, puedes adaptar fácilmente la ventana modal a cualquier diseño o funcionalidad que necesites.


Mi Página con Modal

Ejemplo de ventana emergente

Este es el contenido principal de tu página web. La ventana modal aparecerá sobre este contenido cuando se active.


Resumen de privacidad

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.