Development

Web Development with HTML, CSS & JavaScript

Structure a page, style it, and add the behaviour a browser can run.

★★★★★4.9 · Based on 240 learners64 lessons · 16 hr

Web Development with HTML, CSS & JavaScript builds a page from the three languages the browser already understands. You will structure content, lay it out, and add small interactions. By the end you can read a simple page and change it on purpose.

Course syllabus

  1. 01. HTML

    • A page with meaning

      Headings, paragraphs, links, images, and forms.

      15 min
    • The document starts with a doctype

      A page the browser can read as HTML, not a mystery file.

      17 min
    • A heading and a paragraph

      The title of the section, then the words.

      13 min
    • A link with a real address

      The text says where it goes. The href is that place.

      16 min
    • An image with alt text

      Words for when the picture does not load, and for someone who cannot see it.

      18 min
    • A list when you have a list

      Bullets or numbers, not paragraphs that pretend.

      14 min
    • A form that asks for one thing

      A label, a field, and a button.

      18 min
    • Look at the page without CSS

      If it is nonsense now, CSS will not save it.

      12 min
  2. 02. Document outline

    • Sections and a document outline

      Header, main, and footer so the page has a shape.

      17 min
    • One h1

      The page has one subject.

      15 min
    • Header is not a heading

      The banner of the site, and the heading of the article, are different.

      16 min
    • Main wraps the content

      The thing the page is for, not the menu.

      13 min
    • A nav of real links

      The places a person can go, in a list.

      15 min
    • A footer with the small print

      A contact line or a copyright. Not a second article.

      17 min
    • A section with its own heading

      A block you could move to another page and still understand.

      13 min
    • The outline in the headings alone

      Read only h1, h2, h3. They should tell the page.

      16 min
  3. 03. CSS selectors

    • Selectors, colour, and type

      Style the elements you already wrote.

      18 min
    • A rule is a selector and declarations

      Who it applies to, and what changes.

      14 min
    • Colour and background

      Text that you can still read.

      18 min
    • A font stack

      The typeface you want, and a fallback the computer has.

      12 min
    • A class when the element is not enough

      A name for a job, used on the elements that do that job.

      17 min
    • Specificity without a fight

      A class beats an element. An id is rarely worth it here.

      15 min
    • The cascade in one example

      Two rules, and which one wins, and why.

      16 min
    • A stylesheet linked from the head

      The HTML stays the content. The CSS stays the look.

      13 min
  4. 04. Layout

    • A box has margin, border, and padding

      Outside space, the line, and space inside.

      15 min
    • Block and inline

      A paragraph stacks. A link sits in the line.

      17 min
    • Flexbox for a row

      Items in a line, with a gap you choose.

      13 min
    • A column with flex-direction

      The same idea, stacked.

      16 min
    • Gap instead of margins on every child

      One number on the parent.

      18 min
    • Align the items

      Centre, start, or space between. Pick the one the layout needs.

      14 min
    • A card as a flex column

      Image, title, text, button, in that order.

      18 min
    • Width in a unit you understand

      Percent of the parent, or a max-width so a line stays readable.

      12 min
  5. 05. A phone

    • Layout that fits a phone

      Flexbox and a layout that does not break when the window shrinks.

      17 min
    • A viewport meta tag

      The phone should not pretend the page is a desktop and zoom out.

      15 min
    • A media query

      A rule that applies only when the window is narrow.

      16 min
    • Stack the row on a small screen

      Side by side on a wide window, one under another on a phone.

      13 min
    • Tap targets

      A button big enough to hit with a thumb.

      15 min
    • A picture that does not overflow

      Max-width so it stays inside the column.

      17 min
    • Test by resizing the window

      Drag it. Do not only imagine the phone.

      13 min
    • One layout bug you fix on purpose

      The thing that stuck out of the screen, and the rule that pulled it back.

      16 min
  6. 06. JavaScript values

    • A script at the end of the body

      The HTML exists before the script looks for it.

      18 min
    • A variable for a value you will reuse

      A number or a string, named.

      14 min
    • A function for a job

      A block you can run when something happens.

      17 min
    • If, in the page

      A branch when a value is missing.

      11 min
    • An array of items you will show

      Three strings, ready for a list.

      16 min
    • Console is for you

      A log while you work. It is not the page.

      14 min
    • A syntax error stops the script

      The console tells you the line. The page stays as HTML.

      15 min
    • Keep the script in its own file

      The page links it. The logic is not pasted in the middle of a paragraph.

      12 min
  7. 07. Events

    • Selecting elements and events

      A click that changes the page.

      14 min
    • querySelector

      Find the button by a selector you already used in CSS.

      16 min
    • A click listener

      The function that runs when the button is pressed.

      12 min
    • Change the text

      textContent, so you set words, not HTML from a stranger.

      15 min
    • Read an input

      The value of the field at the moment of the click.

      18 min
    • Prevent a form from reloading

      If you are handling the submit, say so.

      13 min
    • A class to show and hide

      Toggle a class. Do not rewrite the stylesheet from the script.

      17 min
    • Null when the element is missing

      Check that you found it before you add the listener.

      11 min
  8. 08. A small page

    • A small interactive page

      Put structure, style, and behaviour in one project.

      16 min
    • The HTML of the project

      A heading, a field, a button, and an empty list.

      14 min
    • The CSS of the project

      The column, the field, and the list, readable on a phone.

      15 min
    • Add an item to the list

      The field's text becomes a new item.

      12 min
    • Ignore a blank item

      An empty string is not an entry.

      14 min
    • Clear the field after a successful add

      The next item starts from an empty box.

      16 min
    • Style the new item with the same class

      The script does not invent a look.

      12 min
    • Explain the three files

      What HTML owns, what CSS owns, and what the script is allowed to change.

      15 min

Lecture videos stay with the course. Playback for enrolled students will open once payments are available. Video links are not published on this page.