A pop-up window, or pop-up, is an interface element that appears on top of the main content of a page or application. It is used to attract the user's attention, display notifications, registration forms or advertising messages.
In web development, pop-ups are often created using HTML, CSS and jаvascript, writes xrust. If you're a beginner and don't understand what we're talking about, don't worry: it's a simple technique that can be mastered in an hour. In this article, we will walk you through how to create a popup window step by step, without complex frameworks. We'll focus on clean code so you can apply it to any project.
What is a pop-up window and why is it needed?
Imagine: you go to the site, and suddenly a window appears asking you to subscribe to the newsletter. This is a pop-up. These windows are convenient for user interaction, but should not be overused — they can be annoying if they pop up too often. According to statistics, correctly configured pop-ups increase conversion by 10-20%. In programming, pop-ups are modal (block other content) or modeless (allow interaction with the background).
In desktop applications, pop-ups are created using libraries like Tkinter in Python or Swing in Java. But most often, a “pop-up window” means a web version. Let's look at it as the most popular.
Preparation: basic tools
To create a pop-up you will need a text editor (Notepad++ or VS Code) and a browser. We use HTML for structure, CSS for styling, and jаvascript for logic. Create an index.html file and include styles and scripts in it.
Here is the basic template:
HTML
<!DOCTYPE html >
<html lang =»ru»>
<head>
<meta charset =»UTF-8″>
<title>Pop-up window</title>
<style>
/* Styles here */
</style>
</head>
<body>
<!— Content here —>
<script>
//Script here
</script>
</body>
</html>
Step 1: Create a pop-up structure in HTML
Add a div element for the pop-up. It will be hidden by default.
HTML
<div id =»popup» class =»popup»>
<div class =»popup-content»>
<span class =»close»>×</span>
<h2>Welcome!</h2>
<p>This is your first pop-up window. Click the cross to close.</p>
</div>
</div>
<button id =»openPopup»>Open pop-up</button>
Here #popup is the container, .popup-content is the inner block, .close is the close button.
Step 2: Styling the pop-up using CSS
To make the window look beautiful and appear in the center, add styles:
CSS
.popup {
display: none; /* Hidden by default */
position: fixed;
z-index: 1;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0,0,0,0.4); /* Translucent background */
}
.popup-content {
background-color: #fefefe;
margin: 15% auto;
padding: 20px;
border: 1px solid #888;
width: 80%;
max-width: 500px;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0,0,0,0.2);
}
.close {
color: #aaa;
float: right;
font-size: 28px;
font-weight: bold;
}
.close:hover ,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}
This will create a modal window with a darkened background. You can change colors and sizes to suit your design.
Step 3: Add jаvascript for interaction
Now we’ll make the pop-up appear when the button is clicked and close.
jаvascript
const popup = document.getElementById('popup');
const openBtn = document.getElementById('openPopup');
const closeBtn = document.getElementsByClassName('close')[0];
openBtn.onclick = function() {
popup.style.display = 'block';
}
closeBtn.onclick = function() {
popup.style.display = 'none';
}
//Closing when click outside windows
window.onclick = function(event) {
if (event.target == popup) {
popup.style.display = 'none';
}
}
This code is simple: it changes display from none to block and back. For automatic appearance, add setTimeout:
jаvascript
setTimeout(function() {
popup.style.display = 'block';
}, 3000); //After 3 seconds
Advanced options: animation and conditions
To make the pop-up smooth, add CSS animation:
CSS
.popup-content {
animation: fadeIn 0.5s;
}
@keyframes fadeIn {
from {opacity: 0;}
to {opacity: 1;}
}
You can show a pop-up only to new visitors using cookies or localStorage. For example:
jаvascript
if (!localStorage.getItem('popupShown')) {
setTimeout(function() {
popup.style.display = 'block';
localStorage.setItem('popupShown', 'true');
}, 3000);
}
This will prevent irritation for regular users.
Possible problems and best practices
Browsers block pop-ups if they open without interaction (for example, window.open() for new windows). Use modal divs instead of actual windows for better compatibility. Take mobile devices into account: pop-ups should be responsive, with width: 90% on screens smaller than 600px.
Avoid intrusiveness — Google penalizes sites with aggressive pop-ups. Test on different browsers: Chrome, Firefox, Safari.
If you are developing for the desktop, use Tkinter in Python:
Python
import tkinter as tk
root = tk.Tk()
popup = tk.Toplevel(root)
popup.title(«Popup window»)
label = tk.Label(popup, text=»Hello!»)
label.pack()
popup.mainloop()
But for the web our approach is ideal.
Conclusion
Creating a pop-up window is a basic skill of a web developer. With HTML, CSS and JS you can make it functional and stylish. Experiment, add shapes or images. If you need more examples, check out libraries like Bootstrap Modal. The main thing is to make pop-ups useful, not annoying. Happy coding!
Xrust How to make a pop-up window: a step-by-step guide for beginners
- Если Вам понравилась статья, рекомендуем почитать
- How to make a collage on your phone: in the spring of 2026, the demand for mobile photo editing will grow
- How to make a rug from old things: step-by-step instructions and saving tips








