Inicio > Desarrollo Web > Tutoriales de HTML > Creación de un modal simple con HTML, CSS y JavaScript

Creación de un modal simple con HTML, CSS y JavaScript

Diego Cortés
Diego Cortés
September 26, 2024
Creación de un modal simple con HTML, CSS y JavaScript

En el desarrollo web, los modales son elementos de interfaz de usuario que se superponen a la página actual, permitiendo mostrar contenido adicional sin redirigir al usuario. En este artículo, te guiaré a través del proceso de creación de un modal simple utilizando HTML, CSS y JavaScript.

¿Qué es un Modal?

Un modal es un cuadro de diálogo que aparece en la pantalla, normalmente para mostrar información, formularios o mensajes importantes sin desviar la atención del contenido que el usuario está viendo. Los modales son ideales para notificaciones rápidas o para la interacción del usuario, como por ejemplo, iniciar sesión, confirmar acciones o mostrar alertas.

Ventajas de Usar Modales

  • Interacción sin distracciones: Permiten al usuario concentrarse en una sola tarea.
  • Flexible: Pueden contener diversos tipos de contenido: texto, imágenes, formularios, etc.
  • Fácil de usar: Mejoran la experiencia del usuario cuando se implementan correctamente.

Estructura del Modal

Antes de comenzar con el código, necesitamos definir la estructura básica de nuestro modal. Vamos a crear un modal que se abrirá al hacer clic en un botón. Este modal contendrá un mensaje y un botón para cerrarlo.

HTML: Estructura Básica

Aquí te muestro el código HTML que utilizaremos:

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="styles.css">
    <title>Modal Simple</title>
</head>
<body>
    <h1>Ejemplo de Modal Simple</h1>
    <button id="openModal">Abrir Modal</button>

    <div id="myModal" class="modal">
        <div class="modal-content">
            <span class="close">&times;</span>
            <h2>Este es un Modal</h2>
            <p>¡Hola! Este es un mensaje dentro del modal.</p>
        </div>
    </div>

    <script src="script.js"></script>
</body>
</html>

Explicación del Código HTML

  • Botón de abrir modal: El botón con id="openModal" es el que el usuario hará clic para abrir el modal.
  • Div del modal: El div con id="myModal" contiene todo el contenido del modal, que inicialmente estará oculto.
  • Contenido del modal: Dentro del modal, incluimos un botón de cerrar, un título y un párrafo.

Estilos con CSS

Ahora, es momento de estilizar nuestro modal para que se vea bien en la pantalla. Aquí tienes el código CSS:

/* styles.css */

body {
    font-family: Arial, sans-serif;
}

button {
    padding: 10px 20px;
    font-size: 16px;
    cursor: pointer;
}

.modal {
    display: none; /* Oculto por defecto */
    position: fixed; /* Queda en la misma posición en la pantalla */
    z-index: 1; /* Aparece por encima de otros elementos */
    left: 0;
    top: 0;
    width: 100%; /* Anchura completa */
    height: 100%; /* Altura completa */
    overflow: auto; /* Scroll si es necesario */
    background-color: rgb(0,0,0); /* Color de fondo */
    background-color: rgba(0,0,0,0.4); /* Color con opacidad */
}

.modal-content {
    background-color: #fefefe;
    margin: 15% auto; /* 15% desde la parte superior y centrado */
    padding: 20px;
    border: 1px solid #888;
    width: 80%; /* Ancho del contenido del modal */
}

.close {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
}

.close:hover,
.close:focus {
    color: black;
    text-decoration: none;
    cursor: pointer;
}

Explicación del Código CSS

  • Propiedades de la Modal: Se usa display: none para ocultar el modal inicialmente. Se posiciona de manera fija para cubrir toda la ventana.
  • Estilización del contenido: Se han añadido márgenes y relleno para que el contenido sea más atractivo. Además, hemos estilizado el botón de cerrar.

Funcionalidad con JavaScript

Finalmente, vamos a agregar algo de JavaScript para manejar la apertura y cerradura del modal. A continuación, se encuentra el código JavaScript:

// script.js

const modal = document.getElementById("myModal");
const btn = document.getElementById("openModal");
const span = document.getElementsByClassName("close")[0];

// Abrir el modal al hacer clic en el botón
btn.onclick = function() {
    modal.style.display = "block";
}

// Cerrar el modal al hacer clic en el X
span.onclick = function() {
    modal.style.display = "none";
}

// Cerrar el modal al hacer clic fuera de él
window.onclick = function(event) {
    if (event.target === modal) {
        modal.style.display = "none";
    }
}

Explicación del Código JavaScript

  • Variables de modal y botones: Obtenemos los elementos del DOM correspondientes al modal, el botón y el botón de cerrar.
  • Funcionalidad de apertura: Al hacer clic en el botón de abrir, cambiamos el estilo del modal para que se muestre.
  • Funcionalidad de cierre: Se agrega la funcionalidad de cerrar el modal al hacer clic en el botón de cerrar o fuera del modal.

Ejemplo Completo

Una vez que hayas implementado todos los códigos anteriores, tendrás un modal completamente funcional. Asegúrate de que los archivos HTML, CSS y JavaScript están correctamente vinculados para que todo funcione sin problemas.

Conclusiones

Como has visto, crear un modal simple utilizando HTML, CSS y JavaScript es un proceso bastante fácil y directo. Este enfoque puede ser expandido y personalizado según tus necesidades. Los modales son herramientas útiles para mejorar la interacción del usuario en tu sitio web. 

Te recomiendo experimentar con los estilos y la funcionalidad del modal para aprender más sobre el desarrollo de interfaces web. ¡Feliz codificación!

Diego Cortés
Diego Cortés
Full Stack Developer, SEO Specialist with Expertise in Laravel & Vue.js and 3D Generalist

Categorías

Page loaded in 27.43 ms