In this article, we will see how to create a pop-up box with the help of HTML, CSS, and JavaScript.
Here we will create a Popup box that is functional through the Popup button, when is clicked the Popbox appears on the screen with the title and close button.
Prerequisites
Approach
- Create the Popup structure using HTML tags, Some tags are used in this project like <h1>,<div>,<p>.
- Add the different styling properties using CSS to style your Popup structure, give padding, margins, and font size accordingly, and add some hover, and transition properties for look and feel.
- In JavaScript, first, get button elements through their id or class and then apply addEventListener on the Popup button as well as the Close button.
- “Click” event is used, popup box appears while clicking on the popup button.
- A popup box appears with “You have Subscribed” and a Close button.
- The close button is used to remove the popup box by changing the display property to none.
Project Structure
Example: This example implements a popup using above mentioned approach.
HTML
<!DOCTYPE html> < html lang = "en" > < head > < meta charset = "UTF-8" /> < meta name = "viewport" content = "width=device-width, initial-scale=1.0" /> < link rel = "stylesheet" href = < link rel = "stylesheet" href = "style.css" /> < title >Document</ title > </ head > < body > < div class = "heading" > < h1 >GeeksForGeeks</ h1 > </ div > < h2 > How to create Popup Box using HTML,CSS and JS </ h2 > < p id = "sub-p" > Click below button for Popup </ p > < div class = "outer" > < div class = "popup" > < i class = "far fa-check-circle" ></ i > < h2 >You have Subscribed</ h2 > < br /> < button id = "closebtn" >Close</ button > </ div > < button id = "showbtn" >Popup</ button > </ div > < br /> < script src = "./script.js" ></ script > </ body > </ html > |
CSS
body { background-color : #09dbd4 50; } .outer { display : flex; justify- content : center ; align-items: center ; height : 400px ; } .heading { display : flex; align-items: center ; height : 28px ; justify- content : center ; } h 1 , h 2 { text-align : center ; } h 1 { color : green ; background-color : white ; display : inline ; } h 2 { color : rgb ( 139 , 52 , 52 ); } p { text-align : center ; font-weight : bold ; } .popup { background-color : #fafafa ; width : 366px ; height : 222px ; border-radius: 26px ; text-align : center ; display : none ; transition: all 0.5 s ease; transition-duration: 1 s; } #showbtn { margin : 200px auto ; } #closebtn { margin-top : 3px ; } .popup button { margin-top : 6px ; } button { background-color : rgb ( 0 , 0 , 0 ); color : white ; border-radius: 5px ; height : 36px ; width : 77px ; border : none ; transition-duration: 0.5 s; font-size : 17px ; } .far.fa-check- circle { color : blue ; font-size : 37px ; margin-top : 7px ; } button:hover { background-color : rgb ( 113 , 140 , 139 ); color : white ; /* transition-delay: 0.4s; */ } |
Javascript
// To access the show button element let showbtn = document.getElementById( "showbtn" ); // To access the Close button element let closebtn = document.getElementById( "closebtn" ); // To acces the popup element let popup = document.querySelector( ".popup" ); let subp = document.getElementById( "sub-p" ); // To show the popup on click showbtn.addEventListener( "click" , () => { popup.style.display = "block" ; showbtn.style.display = "none" ; document.body.style.backgroundColor = "#9EA9B1" ; subp.style.display = "none" ; }); // To close the popup on click closebtn.addEventListener( "click" , () => { popup.style.display = "none" ; showbtn.style.display = "block" ; document.body.style.backgroundColor = "#09dbd450" ; subp.style.display = "block" ; }); |
Output: