❓What Is the Viewport?
The viewport is the visible area of a webpage on a screen. It changes when you:
Resize your browser window
Rotate your phone or tablet
Zoom in or out
✅ Why It Matters
Without proper viewport settings, mobile browsers assume a desktop layout, causing:
Tiny, unreadable text
Buttons too small to tap
Layout broken on small screens
With the viewport tag, you get:
Mobile Responsiveness: Content scales to the device’s screen
Controlled Zoom: Set initial zoom and disable/allow user zoom
Better UX: Readable text and usable interface
Accurate Media Queries: CSS breakpoints work as intended
🔖 The Meta Tag
<meta name="viewport" content="width=device-width, initial-scale=1.0">
Attribute | Purpose |
|---|---|
width=device-width | Match viewport width to the device’s screen |
initial-scale=1.0 | Start with 100% zoom (no zoom in or out) |
🆚 Viewport vs. Device Width
Feature | Viewport Width | Device Width |
|---|---|---|
Dynamic? | Yes (resizes/zooms) | No (fixed hardware value) |
Changes by | Zoom, resize, rotate | Orientation only |
Use in CSS |
| Indirectly via viewport tag |
📱 Simple Example
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Viewport Meta Tag Example</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
<b>Viewport testing thing out </b>
<img src="<https://www.w3schools.com/css/img_chania.jpg>" alt="Chania" />
<p>
Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy
nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. Ut
wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit
lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum
iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel
illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto
odio dignissim qui blandit praesent luptatum zzril delenit augue duis
dolore te feugait nulla facilisi. Nam liber tempor cum soluta nobis
eleifend option congue nihil imperdiet doming id quod mazim placerat facer
possim assum. Nam liber tempor cum soluta nobis eleifend option congue
nihil imperdiet doming id quod mazim placerat facer possim assum.
</p>
<div style="width: 1000px; background: red; color: white">
This is a wide fixed-width box.
</div>
</body>
</html>
Without viewport meta tag
With viewport meta tag
