🌐 Web Development — Build Your First Website

From a blank file to a live website. No framework needed to get started.

1. The Three Pillars of the Web

Every website ever built uses the same three technologies. Think of them as the bones, skin, and muscles of a web page:

🦴

HTML — Structure

The skeleton. Defines headings, paragraphs, links, images, buttons. Pure content, no style.

🎨

CSS — Style

The skin. Controls colours, fonts, layout, spacing, animations. Makes it look good.

JavaScript — Behaviour

The muscles. Responds to clicks, fetches data, updates the page dynamically. Makes it do things.

You can build a complete, useful website with just HTML and CSS. Add JavaScript only when you need interactivity.


2. Your First HTML Page

Create a file called index.html, paste this in, and open it in your browser:

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>My First Page</title> </head> <body> <h1>Hello, World!</h1> <p>This is my first web page. It works!</p> <a href="https://example.com">Click here</a> </body> </html>

That's it. A complete, valid webpage. Everything else is built on top of this structure.


3. CSS Basics

💡 CSS tip: Use browser DevTools (F12) to experiment with CSS live on any webpage. Changes are temporary and reset on refresh — perfect for learning.

4. JavaScript Essentials

This 15-line example touches the most important JS concepts for beginners:

// Variables const name = "Alex"; let count = 0; // Function function greet(person) { return `Hello, ${person}!`; } // DOM manipulation — grab an element and change it const heading = document.querySelector("h1"); heading.textContent = greet(name); // Event listener — respond to a button click const btn = document.querySelector("button"); btn.addEventListener("click", () => { count++; console.log(`Button clicked ${count} times`); });

The three things to understand: variables (store data), functions (reusable logic), DOM manipulation (talk to the HTML page).


5. Tools You Actually Need


6. Hosting for Free

🛠️ GitHub Pages

Push your HTML/CSS/JS to a GitHub repo and enable Pages. Your site lives at username.github.io/repo. Free, simple, no build step needed for static sites.

☁️ Netlify

Drag-and-drop your folder or connect a GitHub repo. Automatic deploys on push. Free tier is generous. Supports custom domains and HTTPS.

△ Vercel

Designed for React/Next.js but works great for static sites too. Fast CDN, easy custom domains, free tier for personal projects.

☁ Cloudflare Pages

Unlimited requests on free tier, global CDN, very fast. Connect a GitHub/GitLab repo and it deploys automatically on every push.

Recommendation for beginners: Start with GitHub Pages — it teaches you Git at the same time.


7. Modern Web Stack Options

📋 Vanilla (HTML/CSS/JS)

No frameworks. Fastest to learn, works everywhere, no build tools. Perfect for first projects and simple sites. Start here.

⚛️ React

JavaScript UI library from Meta. Component-based. Most popular framework in the industry. Learn after you know vanilla JS well.

🐄 Vue

Gentler learning curve than React. Great documentation. A solid choice once you're comfortable with HTML/CSS/JS basics.

💡 Honest advice: Build 3–4 vanilla projects before touching any framework. Frameworks solve problems you don't have yet as a beginner — and they hide how the web actually works.

8. Free Learning Resources


9. Build This First — Personal Portfolio Page

A personal portfolio is the best first project: it's genuinely useful, teaches real skills, and gives you something to show employers or clients. Here's the outline:

1
Navbar — logo/name on the left, links on the right. Practice: flexbox, sticky positioning. Links: Home, About, Projects, Contact.
2
Hero section — full-width banner with your name, title, and a brief tagline. Practice: background images, centred text, font sizing, call-to-action button.
3
About section — short bio and a photo. Practice: two-column flexbox layout, image styling (round avatar), responsive design.
4
Projects grid — 2–3 cards linking to projects on GitHub or live demos. Practice: CSS grid, card hover effects, semantic HTML for cards.
5
Deploy it. Push to GitHub, enable GitHub Pages. Share the link. You now have a live website with a real URL.
🛒 Web Dev Starter Templates on Gumroad

Download a clean HTML/CSS portfolio template and a Flexbox/Grid cheat sheet from our Gumroad shop.

→ Visit the Gumroad shop

Back to all Guides


🤝 Share This Page

🔔

>_ Get notified about new guides & games

Free browser push notifications from MrTsComputers.com — no email, no spam. Unsubscribe any time.