Beginner HTML & CSS errors are surprisingly consistent. After teaching web design for a while, you start seeing the same “usual suspects” on repeat.
The good news: most of these mistakes are preventable with a few simple teaching moves and a classroom debugging routine.
Here are the most common HTML & CSS mistakes students make, why they happen, and the quick fixes that keep your class moving.
The routine that saves the most time
Before I even list the errors, this routine matters more than any individual fix:
- Save the file
- Refresh the browser
- Check the exact line you changed
- Change one thing and test again
Most “it doesn’t work” moments are actually just “I didn’t save” or “I didn’t refresh.”
Mistake #1: Not saving the file
Why it happens: students assume the browser updates automatically.
Quick teaching move: I make “Save + Refresh” a call-and-response routine during Week 1.
Mistake #2: Wrong file path for images
Why it happens: beginners don’t understand folders and relative paths yet.
Quick teaching move: I teach one rule: “If the image is in the same folder, use just the filename.”
- Teach students to check spelling, capitalization, and file extension.
- Teach “drag the image into the folder first, then link it.”
Mistake #3: Missing closing tags
Why it happens: students forget that many tags need an opening and closing pair.
Quick teaching move: I teach tag pairing like parentheses: if you open it, you close it.
- Indentation is the “x-ray” that reveals nesting problems.
- Have students collapse sections (or re-indent) to spot broken structure.
Mistake #4: Putting CSS in the wrong place
Why it happens: students mix structure and styling before they understand the difference.
Quick teaching move: I repeat the mental model daily: HTML = structure, CSS = style.
Mistake #5: Not linking the CSS file correctly
Why it happens: the link tag is easy to mistype, and folder paths get confusing.
Quick teaching move: I teach a fast diagnostic: change the body background color to something obvious.
- If it changes, CSS is connected.
- If not, it’s a link/path problem, not a “CSS problem.”
Mistake #6: Forgetting the dot for class selectors
Why it happens: students confuse class names with tag names.
Quick teaching move: I teach it as “class selectors need a dot, IDs need a hashtag.”
Mistake #7: IDs and classes mixed up
Why it happens: beginners don’t understand uniqueness vs reuse.
Quick teaching move: I delay IDs at first and teach classes as the default tool.
Mistake #8: Missing curly braces or semicolons in CSS
Why it happens: CSS syntax feels “almost English,” so students get sloppy.
Quick teaching move: I teach CSS like a recipe card:
- selector = who we’re styling
- { } = the style box
- property: value; = each instruction line
Mistake #9: Styling the wrong element
Why it happens: students guess selectors instead of targeting intentionally.
Quick teaching move: I teach “add a class first, then style the class.”
Mistake #10: Margin vs padding confusion
Why it happens: both create space, but in different ways.
Quick teaching move: I teach it visually:
- Padding = space inside the box
- Margin = space outside the box
The teaching move that prevents the most troubleshooting
I require students to debug with evidence. If they ask for help, they must show:
- what they changed
- what they expected
- what happened instead
That turns “help me” into a learning moment and reduces repeated confusion.
Bottom line
HTML & CSS mistakes aren’t a sign students are failing. They’re a sign students are doing the real work of building and troubleshooting.
With a predictable routine and a few targeted teaching moves, you can prevent hours of frustration and help beginners build confidence fast.
Want Web Foundations Lessons That Prevent These Mistakes?
If you want beginner-safe web design lessons with clear steps, checkpoints, and projects that work, check out my Web Foundations resources.