Arrange a Masterclass

Category: Web Development

« All categories

Front-end craft since 2009: CSS architecture, naming conventions, semantics, and code built to survive contact with a real team.


2026


  1. font-family Doesn’t Fall Back the Way You Think

2025


  1. HTML Is Not a Programming Language…

  2. Build for the Web, Build on the Web, Build with the Web

2024


  1. Licensing Code on CSS Wizardry

2018


  1. ITCSS × Skillshare

  2. Getting to Know a Legacy Codebase

2017


  1. Airplanes and Ashtrays

  2. Refactoring Tunnels

  3. Writing Tidy Code

  4. Code Smells in CSS Revisited

  5. Typography for Developers

2016


  1. CSS Shorthand Syntax Considered an Anti-Pattern

  2. Nesting Your BEM?

  3. Continue Normalising Your CSS

  4. Pure CSS Content Filter

  5. Pragmatic, Practical, and Progressive Theming with Custom Properties

  6. Refactoring CSS: The Three I’s

  7. The Importance of !important: Forcing Immutability in CSS

  8. Managing Typography on Large Apps

2015


  1. BEMIT: Taking the BEM Naming Convention a Step Further

  2. Contextual Styling: UI Components, Nesting, and Implementation Detail

  3. Subtleties with Self-Chained Classes

  4. Cyclomatic Complexity: Logic in CSS

  5. Immutable CSS

  6. Can CSS Be Too Modular?

  7. More Transparent UI Code with Namespaces

2014


  1. When to use @extend; when to use a mixin

  2. The Specificity Graph

  3. CSS Guidelines 2.0.0

  4. Hacks for dealing with specificity

  5. Grouping related classes in your markup

  6. Naming UI components in OOCSS

  7. Use zero-width spaces to stop annoying Twitter users

  8. Extending silent classes in Sass

2013


  1. The problems with ‘crafting’ code

  2. Taming data tables

  3. Writing DRYer vanilla CSS

  4. Hashed classes in CSS

  5. ‘Scope’ in CSS

  6. The flag object

  7. shame.css – full .net interview

  8. shame.css

  9. Introducing csswizardry-grids

  10. Responsive grid systems; a solution?

  11. You know your context – on critical thinking and thinking for yourself

  12. MindBEMding – getting your head ’round BEM syntax

  13. Your logo is still an image… and so is mine!

2012


  1. Code smells in CSS

  2. A classless class — on using more classes in your HTML

  3. Announcing pr.ofile.me

  4. inuit.css v4.0.0 — OOCSS, Sass and more

  5. Tags in CSS files

  6. Shoot to kill; CSS selector intent

  7. Quasi-qualified CSS selectors

  8. The open/closed principle applied to CSS

  9. Single-direction margin declarations

  10. Keep your CSS selectors short

  11. The single responsibility principle applied to CSS

  12. My HTML/CSS coding style

  13. Hacker News rebuttal

  14. Pragmatic, practical font sizing in CSS

2011


  1. On HTML and CSS best practices

  2. Measuring and sizing UIs, 2011-style (and beyond)

  3. Create a notched current-state nav

  4. Build-along #1, reflection and reasoning

  5. CSS Wizardry build-along #1

  6. Sam Penrose Design — process and write-up

  7. Fully fluid, responsive CSS carousel

  8. The CSS Wizardry build-along is go!

  9. Build-along (testing the water)

  10. Reset restarted

  11. The ‘island’ object

  12. The ‘nav’ abstraction

  13. Ordered and numbered lists; the differences

  14. Writing efficient CSS selectors

  15. When using IDs can be a pain in the class...

  16. Two titillating table tips

  17. Building better grid systems

  18. Good developers are illusionists

  19. More logo markup tips

  20. Borders on responsive images

  21. Responsive images right now

  22. Fluid grid calculator

  23. Namespacing fragment identifiers

  24. What is inuit.css?

  25. Styling alt text on images

  26. Introducing igloos — inuit.css gets plugins

  27. Annotated <figure>s in HTML5 and CSS

  28. Font sizing with rem could be avoided

  29. jQuery placeholder plugin/polyfill

  30. On negative hovers

  31. Introducing inuit.css

  32. Coding up a semantic, lean timeline

  33. Link: Technical Web Typography: Guidelines and Techniques

  34. Problems with the sans-serif hack

  35. Mobile business card

  36. Creating a pure CSS dropdown menu

  37. Pure CSS(3) accordion

  38. CSS powered ribbons the clean way

  39. Create a centred horizontal navigation

  40. Link: Recreating the Luke's Beard social icons with CSS3

  41. Using the <body> element as a wrapper

  42. HTML(5) and text-level semantics

  43. Maximising hit-area for usability

  44. HTML elements, tags and attributes

  45. Scrolling overflowed content in iOS

  46. The real HTML5 boilerplate

2010


  1. Mo’ robust paragraph indenting

  2. Media queries, handier than you think

  3. CSS: CamelCase Seriously Sucks!

  4. Improving CSS tooltips

  5. Mark up a semantic, accessible, progressively enhanced, mobile optimised progress bar (bonus: style the numbers in an ordered list!)

  6. Unsung heroes

  7. Your logo is an image, not an <h1>

  8. Designing in the browser leads to better quality builds

  9. In response to ‘Invisible captcha to prevent form spam’

  10. Keeping code clean with content

  11. Set then unset (or reset...?)

  12. Zebra-striping rows and columns

  13. Semantics and sensibility

  14. Building sites without using IDs or classes

  15. Moving forward is holding us back

  16. A quick note on border radius

  17. Type tips — quick tips on all things web typography

  18. Multiple column lists using one <ul>

  19. Upside down domains — registering an international domain name

  20. CSS bar charts — styling data with CSS3 and progressive enhancement

  21. iPhone CSS — tips for building iPhone websites

  22. The three types of dash

  23. The importance of proper punctuation

  24. A reconsideration — in defence of <b> and <i> (or: people fear what they don’t understand)

  25. A suitable alternative — on proper use of alt attributes

2009


  1. Typographic work planner

Book a Free Call


Hi there, I’m Harry Roberts. I am an award-winning Consultant Web Performance Engineer, designer, developer, writer, and speaker from the UK. I write, Tweet, speak, and share code about measuring and improving site-speed. You should hire me.


Connect


Projects

Next Appearance

Learn:

I help teams achieve class-leading web performance, providing consultancy, guidance, and hands-on expertise.

I specialise in tackling complex, large-scale projects where speed, scalability, and reliability are critical to success.