HTML and CSS: Build and Launch Your First Website
Hand-build a clean, mobile-friendly, accessible site from an empty folder, then put it online for free.
One payment of $39. Instant online access to the full written course. No subscription. Refund policy.
You hand-build a clean, mobile-friendly site and put it online.
Who it is for. Complete beginners who want a personal or small-business website they understand and control, without a website-builder or any coding background. You only need to be able to create folders and files on a computer.
You finish with. Your live website. Launch a real three-page website about you or your business: hand-written HTML and CSS, laid out with flexbox and grid, mobile first, accessible, tested and published on a free host. The site grows module by module, so the capstone is the finished stage, plus the evidence that you checked it.
Certificate. Finish every lesson, resolve every quiz question with at least 50% right on the first try, and tick the capstone checklist — Apex Flow Academy issues a verifiable Certificate of Completion with a unique ID and a public verification page. It is a certificate of completion, not a degree, licence, accreditation or exam result.
01 · Your First Web Page4 lessons
Set up a free workspace, learn what a web page really is, and write a first page with a proper skeleton, headings, lists and an image with useful alt text.
- 1.1What a web page is, and the workspace you needFREE
- 1.2The skeleton every page needs
- 1.3Headings, paragraphs and lists
- 1.4Images and alt text
02 · Links, Landmarks and a Real Multi-Page Site4 lessons
Connect pages with links, give every page clear regions such as header, main and footer, build the other pages with one shared navigation, and add contact details that work.
- 2.1Links: connect your pages and reach the world
- 2.2Landmarks: header, nav, main and footer
- 2.3More pages and one shared navigation
- 2.4Contact details that work
03 · Make It Look Like You: CSS Basics4 lessons
Link a stylesheet, choose colours and fonts, target elements with classes, understand which rule wins, and check that your text has enough contrast to read.
- 3.1Your first stylesheet
- 3.2Colours, fonts and readable text
- 3.3Classes and the cascade
- 3.4Contrast: make your text easy to read
04 · Layout: Boxes, Spacing, Flexbox and Grid4 lessons
Understand the box every element lives in, centre your content at a readable width with steady spacing, then use flexbox for rows and grid for cards.
- 4.1The box model
- 4.2A readable width and steady spacing
- 4.3Flexbox: put things in a row
- 4.4Grid: cards that line up
05 · Mobile First, Responsive and Easy to Use4 lessons
Build for the phone first, add layout for wider screens with media queries, make images fit every screen, and make the whole site usable with a keyboard.
- 5.1Mobile first: start with the phone
- 5.2Media queries: add layout for wider screens
- 5.3Images that fit every screen
- 5.4Keyboard focus and a skip link
06 · Finish, Check and Launch Your Site4 lessons
Add the finishing details visitors and search engines see, test the site the way a visitor would, run an accessibility check, and publish it for free.
- 6.1Finishing details: titles, descriptions and a favicon
- 6.2Test like a visitor: widths, links and the HTML checker
- 6.3Accessibility check: an automatic scan plus a keyboard pass
- 6.4Publish for free, and keep your site alive
What a web page is, and the workspace you need
You will be able to
- Say what a web page is, in one sentence.
- Set up a project folder and a free code editor.
- Open your first page in a browser and change it.
Why this matters
A web page is only a text file. Once you know that, a website stops feeling like magic. You can build one with free tools, and you can fix it when something breaks. This lesson sets up the workspace you will use for the whole course.
Learn it
A web page is a plain text file. It holds your words plus short instructions that tell a browser how to show them. The instructions are written in HTML, which stands for HyperText Markup Language. A browser (Chrome, Edge, Firefox or Safari) reads the file and draws the page on screen.
A website is a folder of these files, plus images and a style file, linked together. CSS is the second language you will learn. HTML says what things are. CSS says how they look.
Over six modules you will build one small three-page site: Home, Services and Contact. It will work on phones and desktops, follow basic accessibility rules, and go live for free. Every module ends with a module project that adds one piece. You also get the complete, tested code for that stage, so you can compare it with yours.
The example site is a made-up bike repair shop called Cedar Street Bikes. Use your own subject instead: a business, a hobby or a personal portfolio. Type the code yourself and swap in your own words. Typing teaches more than pasting.
Every lesson has the same shape. You read, watch a worked example, repeat the skill on your own material, and check the "You are done when" line before moving on.
Set up your workspace:
- Make a folder called something like
my-site. Use lowercase letters and hyphens. Avoid spaces and capital letters. - Install a code editor. Visual Studio Code is free (check its website for the current version). Any plain text editor works. A word processor does not, because it adds hidden formatting.
- Make your computer show file extensions such as
.html. Look in your file manager's View or Settings menu for the option about file name extensions. - Create a file named
index.htmlinside the folder. Browsers and web hosts treatindex.htmlas the front door of a folder. - Type
<p>Hello, web.</p>, save the file, then double-click it. It opens in your browser.
You need nothing else yet: no account, no paid tool. Use Chrome or Edge while you build, because their built-in developer tools are strong. You will test in a second browser later.
See it in action
Example: a folder named cedar-street-bikes holds one file, index.html. The file contains one line:
<p>Hello, Cedar Street Bikes.</p>Double-clicking the file opens the browser. The page shows the sentence in plain black text. The address bar starts with file:///. That means the page comes from your own computer, not from the internet.
Now change Hello to Welcome. Save the file in the editor. Switch to the browser tab and refresh the page. The new word appears. That loop is edit, save, refresh. You will use it for everything in this course.
If this is not working:
- The browser shows raw code instead of a page: the file is really named
index.html.txt. Show file extensions and rename it. - Nothing changed after your edit: you did not save (look for a dot on the editor tab) or you did not refresh.
- Double-clicking opens the editor instead of the browser: right-click the file, choose Open with, and pick your browser.
Common mistakes
- Using a word processor. It feels friendly. It adds hidden formatting that browsers cannot read. Fix: use a plain text editor.
- Spaces and capitals in file names.
My Page.HTMLworks on your computer but often breaks online. Fix: use lowercase words joined by hyphens. - Hidden extensions. Your computer may hide
.htmland.txt. Fix: turn extensions on before you name files.
You are done when
Your folder exists, and index.html opens in a browser with your line of text. You changed the text, saved, refreshed and saw the change.
You finished the free lesson
That is one lesson from the course. The full course gives you every remaining lesson, a quick check and a hands-on task in each one, and the workbook of templates and checklists.
Full course$39
- A laptop or desktop computer (a phone or tablet is not enough for building)
- A free code editor: Visual Studio Code is one free example, and any plain text editor works (check its current version and features)
- The Chrome or Edge browser, which is free and includes the developer tools used in this course
- A few of your own photos, or free images whose licence allows your use
- A free account with a static-site host for the last lesson, which you create yourself (free plans exist; check current terms, because some free plans do not allow business use)
- Optional and not needed for the course: your own domain name, which costs a yearly fee that varies
- You can create a folder, save a file and open it on a Windows, Mac or Linux computer
- You can use a web browser
- No coding experience is needed
Your live website
Launch a real three-page website about you or your business: hand-written HTML and CSS, laid out with flexbox and grid, mobile first, accessible, tested and published on a free host. The site grows module by module, so the capstone is the finished stage, plus the evidence that you checked it.
- A live address that opens your three-page site on a phone and on a laptop
- Your site folder (index.html and other pages, styles.css, favicon and images) backed up in a second place
- Your completed final checklist with a note against each item
- Your palette and contrast list, with every text pair at 4.5 to 1 or better (3 to 1 for large text)
- Your accessibility fix list, with each item finished or given a written reason
- Your update routine, written in three or more steps
- A short note on which free host you chose and why its current terms fit your site
A website built from your brief
Take the website brief you wrote in this course to Apex Flow Digital and see the website options for your business.
See website options- Web page
- A plain text file that a browser reads and draws on screen.
- HTML
- The language that says what things on a page are: headings, paragraphs, links, images.
- CSS
- The language that says how things look: colours, fonts, spacing and layout.
- Browser
- The program, such as Chrome, Edge, Firefox or Safari, that opens web pages.
- Element
- A piece of content wrapped in tags, such as a paragraph or a link.
- Attribute
- Extra information inside an opening tag, written as a name and a quoted value, such as lang="en".
- Relative path
- An address counted from the current page, such as services.html or images/photo.jpg.
- Absolute URL
- A full web address that starts with https:// and can point to any site.
- Alt text
- Words that stand in for an image when someone cannot see it, read aloud by screen readers.
- Landmark
- A named region of a page, such as header, nav, main or footer, that helps people jump around.
- Viewport
- The part of the screen where the page is shown. The viewport tag tells phones to use their real width.
- Custom property
- A named value in CSS, such as --brand, that you store once and reuse with var().
Browse the full Academy encyclopedia
22 checks were run and recorded while writing this course (code, formulas, commands and facts), and it lists 23 official sources it was checked against. Prices, features and policies of outside tools can change, so check each tool's own website.
Created by Apex Flow Academy with AI assistance. For education only; not legal, tax, financial or medical advice. Results depend on your effort and circumstances.
JavaScript From Zero: Make Web Pages Come Alive
You start with an HTML page that cannot react. You finish with a working task list app that you built, tested and reviewed yourself: it adds, marks, deletes and filters tasks, saves them in the browser, loads sample data from the internet and proves itself with automatic checks every time it opens. You will understand each part well enough to start a second app on your own.
React and Next.js: Build Modern Web Apps
You start with basic JavaScript. You finish with a multi-page Next.js app that you built, tested and put on a public web address: a catalog with search and filters, a saved list that remembers, a page for every book, a small JSON API, a form that checks its input on the server, page titles, an optimized image and automatic tests. You will understand each part well enough to start a second app on your own.
UX Design With Figma: Design Apps People Love
You research, sketch, prototype and test a real app design. You finish with a clickable prototype, the research and test notes behind it, and a written spec a developer could build from.