Level 3

Viewport

Controls screen scaling and width handling

Media Query

CSS rule that adapts based on device props

Breakpoint

Width that triggers a layout change

Mobile First

Start with small screens, scale up

Desktop First

Start big, adapt downward

Responsive Design

Design that works on all devices

action

Where to send the data (a file or URL)

method

GET = visible in URL, POST = sent in secret

autocomplete

Browser autofill (on/off)

enctype

Needed for file uploads (set to multipart/form-data)

input

Everything – depends on type

Default type is text

textarea

Multi-line input (e.g., messages)

Has its own tag, not input type="text"

checkbox

Multiple selection

Use same name for grouped options

radio

Single selection in a group

Also share the same name

select

Dropdown menus

Use multiple for multiple selection

label

Describes a field

Use for="idOfField" to link it properly

enctype

MUST be set to multipart/form-data

accept

Filter file types (not secure alone)

multiple

Allows selecting multiple files

required

User must pick something

<form>

The wrapper – sets method + destination

GET vs POST

GET = public (URL), POST = private (body)

Input types

text, email, number, file, checkbox, radio

<textarea>

For longer text

<select>

Dropdowns with <option>s

label

Links to input with for=

Validation

required, type, pattern, etc.

File Uploads

Needs multipart/form-data, accept, etc.

Part

Description

Scheme

Protocol (http, https, ftp, mailto)

Domain

The human-readable name (or IP)

Port

Optional (default: 80 for HTTP, 443 for HTTPS)

Path

Folder or file location on the server

Arguments

Data sent to the server via ?key=value

Anchor

Jumps to a section on the page (#section)