Arrange a Masterclass

Tag: CSS

« All tags

Critical CSS, containment, and fallbacks that behave. Writing stylesheets that scale up without dragging your render time along.


2026


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

  2. What Is CSS Containment and How Can I Use It?

2022


  1. Critical CSS? Not So Fast!

2018


  1. ITCSS × Skillshare

  2. CSS and Network Performance

  3. Getting to Know a Legacy Codebase

  4. Measuring the Hard-to-Measure

  5. Finding Dead CSS

2017


  1. Code Smells in CSS Revisited

  2. Ack for CSS Developers

2016


  1. CSS Shorthand Syntax Considered an Anti-Pattern

  2. Nesting Your BEM?

  3. Improving Perceived Performance with Multiple Background Images

  4. Continue Normalising Your CSS

  5. Pure CSS Content Filter

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

  7. Refactoring CSS: The Three I’s

  8. Improving Your CSS with Parker

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

  10. Mixins Better for Performance

  11. 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. Extending silent classes in Sass

2013


  1. Taming data tables

  2. Writing DRYer vanilla CSS

  3. Hashed classes in CSS

  4. ‘Scope’ in CSS

  5. The flag object

  6. shame.css – full .net interview

  7. shame.css

  8. Introducing csswizardry-grids

  9. Responsive grid systems; a solution?

  10. MindBEMding – getting your head ’round BEM syntax

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. Writing efficient CSS selectors

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

  15. Building better grid systems

  16. Borders on responsive images

  17. Fluid grid calculator

  18. Namespacing fragment identifiers

  19. What is inuit.css?

  20. Introducing igloos — inuit.css gets plugins

  21. Annotated <figure>s in HTML5 and CSS

  22. Font sizing with rem could be avoided

  23. jQuery placeholder plugin/polyfill

  24. On negative hovers

  25. Introducing inuit.css

  26. Coding up a semantic, lean timeline

  27. Problems with the sans-serif hack

  28. Mobile business card

  29. Creating a pure CSS dropdown menu

  30. Pure CSS(3) accordion

  31. CSS powered ribbons the clean way

  32. Create a centred horizontal navigation

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

  34. Maximising hit-area for usability

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. Keeping code clean with content

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

  8. Zebra-striping rows and columns

  9. Building sites without using IDs or classes

  10. A quick note on border radius

  11. Multiple column lists using one <ul>

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

  13. iPhone CSS — tips for building iPhone websites

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.