¿Cómo hacer un pop up en HTML?

| Última modificación: 18 de abril de 2024 | Tiempo de Lectura: 4 minutos

Los pop-ups en HTML son una forma efectiva de destacar contenido importante, captar la atención del usuario o mostrar información relevante de manera prominente. Aunque tradicionalmente se han utilizado scripts de JavaScript para crear pop-ups, hoy te mostraremos cómo hacer un pop up en HTML y CSS.

Básicamente, un pop-up es una ventana emergente que aparece sobre la página web actual. A diferencia de las nuevas ventanas de navegación que se abren con JavaScript, un pop-up HTML se crea utilizando un bloque div con posicionamiento absoluto.

¿Cómo hacer un pop up en HTML?

¿Cómo hacer un pop up en HTML y CSS?

El código HTML para un pop up simple

Para construir un pop-up HTML básico, necesitamos dos bloques principales: uno para el panel contenedor y otro para el contenido que queremos mostrar en el pop-up. Aquí tienes un ejemplo de cómo se vería el código HTML:

//¿Cómo hacer un pop up en HTML?
<button onclick="document.getElementById('aviso').setAttribute('data-on','on')">
Mostrar Aviso
</button>

//¿Cómo hacer un pop up en HTML?
<div class="panel" id="aviso" data-on="off" onclick="this.setAttribute('data-on','off')">
<div>
Esto es un panel de comunicación
<p>(Haz clic para cerrar)</p>
</div>
</div>

En este código, el botón ejecuta una pequeña instrucción JavaScript que hace visible el bloque del panel de aviso al establecer el atributo data-on en «on». Cuando se hace clic en cualquier parte del panel de aviso, se ejecuta una instrucción JavaScript que oculta el panel al establecer el atributo data-on en «off».

El código HTML proporcionado es bastante sencillo pero tiene varias partes importantes que vale la pena entender. Primero, el botón Mostrar Aviso es el elemento que desencadena la aparición del pop-up cuando se hace clic en él. Esto se logra mediante el atributo onclick, que ejecuta una función JavaScript que cambia el estado del pop-up estableciendo el atributo data-on en «on».

Luego, tenemos el bloque div con la clase panel y el ID aviso, que representa el propio pop-up. Este bloque contiene el mensaje o contenido que queremos mostrar al usuario. El atributo data-on se utiliza para controlar si el pop-up está visible u oculto. Inicialmente, está establecido en «off», lo que significa que el pop-up está oculto.

Además, hay un evento onclick asociado con este bloque div que también cambia el estado del pop-up cuando se hace clic en él. Cuando se hace clic, se ejecuta una función JavaScript que establece el atributo data-on en «off», lo que oculta el pop-up nuevamente.

Estilos CSS para estilizar el pop up

Ahora que hemos creado la estructura básica del pop-up en HTML, es hora de aplicar estilos CSS para darle el aspecto deseado. Aquí tienes un ejemplo de cómo podrían ser los estilos CSS:

//¿Cómo hacer un pop up en HTML?
.panel {
position: absolute;
top: 0;
left: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100%;
width: 100%;
transition: transform 300ms;
z-index: -1;
}

//¿Cómo hacer un pop up en HTML?
.panel div {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
background: beige;
width: 400px;
height: 400px;
z-index: 1000;
}

.panel[data-on='on'] {
transform: scale(1);
}

//¿Cómo hacer un pop up en HTML?
.panel[data-on='off'] {
transform: scale(0);
}

Estos estilos CSS se encargan de posicionar el pop-up en el centro de la pantalla, establecer su tamaño y darle un aspecto visual agradable. Además, se utiliza la propiedad transition para crear una animación suave al mostrar u ocultar el pop-up.

Los estilos CSS proporcionados son fundamentales para darle el aspecto deseado al pop-up y mejorar su usabilidad. Comencemos con la clase panel, que se utiliza para el contenedor principal del pop-up. Esta clase establece la posición del pop-up en la pantalla utilizando position: absolute, lo que significa que se colocará en relación con su contenedor principal, en este caso, el cuerpo del documento HTML.

El top, left, right y bottom están configurados en 0, lo que asegura que el pop-up ocupe toda la pantalla. Esto se logra estableciendo su altura y anchura en 100%. La propiedad z-index se establece en -1, lo que coloca el pop-up detrás de otros elementos en la página y evita que se superponga a ellos.

El uso de display: flex, justify-content: center y align-items: center dentro de la clase panel ayuda a centrar el contenido del pop-up tanto horizontal como verticalmente en la pantalla, lo que mejora su apariencia y legibilidad.

Dentro del contenedor del pop-up (div con clase panel), se utiliza otra clase llamada popupContent para estilizar el contenido del pop-up. Aquí, se pueden aplicar estilos adicionales según sea necesario, como cambios en el color de fondo, la tipografía, el espaciado y otros aspectos visuales para que el mensaje o contenido del pop-up sea más atractivo y legible.

Además, se define una transición suave utilizando la propiedad transition, que ayuda a crear un efecto de aparición y desaparición gradual cuando el pop-up se muestra u oculta, lo que mejora la experiencia del usuario y hace que la interacción sea más agradable y fluida.

¿Cómo hacer un pop up automático?

Una pregunta común es cómo hacer que un pop-up se abra automáticamente al cargar la página. Esto se puede lograr utilizando la pseudo-clase :target en CSS. Aquí tienes cómo sería el código CSS modificado:

//¿Cómo hacer un pop up en HTML?
.overlay {
position: fixed;
top: 0;
bottom: 0;
left: 0;
right: 0;
background: rgba(0, 0, 0, 0.7);
transition: opacity 500ms;
visibility: hidden;
opacity: 0;
}

//¿Cómo hacer un pop up en HTML?
.overlay:target {
visibility: visible;
opacity: 1;
}

Al utilizar la pseudo-clase :target, podemos hacer que el pop-up se muestre automáticamente cuando el ID del pop-up se convierte en el destino de la URL.

Conclusiones

Aprender cómo hacer un pop up en HTML es más simple de lo que parece. Con un poco de HTML y CSS, puedes crear pop-ups atractivos y funcionales sin la necesidad de utilizar JavaScript. Experimenta con diferentes estilos y animaciones para encontrar la apariencia perfecta para tus pop-ups.

Ahora que has aprendido cómo hacer un pop up en HTML, ¡es hora de poner en práctica tus conocimientos y crear pop-ups impresionantes para tu sitio web, también aprender sobre etiquetas en HTML!

Recuerda, en KeepCoding estamos comprometidos a brindarte las herramientas y conocimientos necesarios para destacar en el mundo de la tecnología. ¡Únete a nuestro Bootcamp en desarrollo web y comienza tu viaje hacia una carrera exitosa en el sector IT hoy mismo!

como hacer un pop up en html
Alberto Casero

Alberto Casero es CTO en Watium, Fundador de Kas Factory & Coordinador del Bootcamp en Desarrollo Web.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Desarrollo web

Full Stack Bootcamp

Clases en Directo | 10 meses | Sueldos de hasta 80K | Acceso a +600 empresas | 98.49% de empleabilidad