all written video podcast

  • font-family Doesn’t Fall Back the Way You Think - CSS Wizardry

    font-family Doesn’t Fall Back the Way You Think - CSS Wizardry

    2026-04-10
    A quick but important reminder that font-family declarations don’t inherit fallback stacks the way many developers assume.
  • What Is CSS Containment and How Can I Use It? - CSS Wizardry

    What Is CSS Containment and How Can I Use It? - CSS Wizardry

    2026-04-02
    CSS containment lets you isolate layout and paint work to self-contained ‘islands’. Here’s what each contain value does and how to use it safely.
  • When All You Can Do Is All or Nothing, Do Nothing - CSS Wizardry

    When All You Can Do Is All or Nothing, Do Nothing - CSS Wizardry

    2026-03-30
    If your design system can only apply `loading=lazy` or `fetchpriority=high` blindly, it may be safer not to apply them at all.
  • Low- and Mid-Tier Mobile for the Real World (2025) - CSS Wizardry

    Low- and Mid-Tier Mobile for the Real World (2025) - CSS Wizardry

    2025-08-18
    Discover the most representative low- and mid-tier mobile devices for web performance testing in 2025.
  • The Fastest Site in the Tour de France - CSS Wizardry

    The Fastest Site in the Tour de France - CSS Wizardry

    2025-07-27
    How fast are pro cycling teams’ and manufacturers’ websites? A CrRRUX-powered deep dive into bike brand performance, visibility, and missed opportunities.
  • Making Sense of the Performance Extensibility API - CSS Wizardry

    Making Sense of the Performance Extensibility API - CSS Wizardry

    2025-07-25
    Making sense—and use!—of the new Performance Extensibility API in Chrome DevTools.
  • Why Do We Have a Cache-Control Request Header? - CSS Wizardry

    Why Do We Have a Cache-Control Request Header? - CSS Wizardry

    2025-03-07
    Learn how the Cache-Control request header works, how browsers handle refresh and hard refresh caching, and when developers should use it themselves.
  • HTML Is Not a Programming Language… - CSS Wizardry

    HTML Is Not a Programming Language… - CSS Wizardry

    2025-02-10
    Is HTML a programming language? In this short post, I explore why HTML is powerful, fundamental, and essential—but not a programming language.
  • Build for the Web, Build on the Web, Build with the Web - CSS Wizardry

    Build for the Web, Build on the Web, Build with the Web - CSS Wizardry

    2025-01-23
    What is the real, long-term cost of adopting a JavaScript framework?
  • Licensing Code on CSS Wizardry - CSS Wizardry

    Licensing Code on CSS Wizardry - CSS Wizardry

    2024-12-04
    I’ve recently decided to apply the permissive MIT License to all content on CSS Wizardry by default. How does this affect you?
  • A Layered Approach to Speculation Rules - CSS Wizardry

    A Layered Approach to Speculation Rules - CSS Wizardry

    2024-12-02
    The new Speculation Rules API is incredibly powerful, but we can do so much more! By taking a layered approach, we can add more progressive functionality.
  • Designing (and Evolving) a New Web Performance Score - CSS Wizardry

    Designing (and Evolving) a New Web Performance Score - CSS Wizardry

    2024-11-26
    Why design another new performance score?! Good question…
  • Core Web Vitals Colours - CSS Wizardry

    Core Web Vitals Colours - CSS Wizardry

    2024-11-18
    If, like me, you frequently require the Core Web Vitals colour palete, here it is!
  • The Ultimate Contract Templates for Tech Consultants: Protect Your Business and Get Paid - CSS Wizardry

    The Ultimate Contract Templates for Tech Consultants: Protect Your Business and Get Paid - CSS Wizardry

    2024-10-01
    If you want to start consulting, you’re gonna need some paperwork!
  • Optimising for High Latency Environments - CSS Wizardry

    Optimising for High Latency Environments - CSS Wizardry

    2024-09-16
    We can’t do much to change latency, so how can we work around it?
  • Cache Grab: How Much Are You Leaving on the Table? - CSS Wizardry

    Cache Grab: How Much Are You Leaving on the Table? - CSS Wizardry

    2024-08-19
    Quantifying the importance of caching just got a lot easier
  • blocking=render: Why would you do that?! - CSS Wizardry

    blocking=render: Why would you do that?! - CSS Wizardry

    2024-08-14
    Why on earth would you make something render-blocking?!
  • Correctly Configure (Pre) Connections - CSS Wizardry

    Correctly Configure (Pre) Connections - CSS Wizardry

    2023-12-09
    We’re probably familiar with preconnect, but are we getting it right?
  • The Three Cs: 🤝 Concatenate, 🗜️ Compress, 🗳️ Cache - CSS Wizardry

    The Three Cs: 🤝 Concatenate, 🗜️ Compress, 🗳️ Cache - CSS Wizardry

    2023-10-17
    We know we should do it, but do we know how?
  • What Is the Maximum max-age? - CSS Wizardry

    What Is the Maximum max-age? - CSS Wizardry

    2023-10-16
    How long?! RFC9111 lets max-age reach 68 years—far beyond the usual one that developers set. Here are the raw numbers, the spec, and when to use it.
  • How to Clear Cache and Cookies on a Customer’s Device - CSS Wizardry

    How to Clear Cache and Cookies on a Customer’s Device - CSS Wizardry

    2023-10-02
    There’s a super quick and easy way to clear cache on your customers’ devices. Are you using it yet?
  • The Ultimate Low-Quality Image Placeholder Technique - CSS Wizardry

    The Ultimate Low-Quality Image Placeholder Technique - CSS Wizardry

    2023-09-28
    Can Low-Quality Image Placeholders and LCP play nicely together?
  • Core Web Vitals for Search Engine Optimisation: What Do We Need to Know? - CSS Wizardry

    Core Web Vitals for Search Engine Optimisation: What Do We Need to Know? - CSS Wizardry

    2023-07-24
    There’s still a lot of misunderstanding about CWV for SEO. Let’s work it out together.
  • The HTTP/1-liness of HTTP/2 - CSS Wizardry

    The HTTP/1-liness of HTTP/2 - CSS Wizardry

    2023-07-11
    If HTTP/2 is so much better, why does it look so similar to HTTP/1?!
  • In Defence of DOM­Content­Loaded - CSS Wizardry

    In Defence of DOM­Content­Loaded - CSS Wizardry

    2023-07-01
    Is there any reason to still measure the DOMContentLoaded event? Perhaps…
  • Site-Speed Topography Remapped - CSS Wizardry

    Site-Speed Topography Remapped - CSS Wizardry

    2023-06-07
    Revisiting and remapping my Site-Speed Topography technique for assessing web performance at large
  • Why Not document.write()? - CSS Wizardry

    Why Not document.write()? - CSS Wizardry

    2023-01-10
    We’re often told not to use document.write(), but… why?!
  • Speeding Up Async Snippets - CSS Wizardry

    Speeding Up Async Snippets - CSS Wizardry

    2022-10-12
    Async snippets used to improve performance, but now they’re a legacy anti-pattern. How do we handle them now?
  • Critical CSS? Not So Fast! - CSS Wizardry

    Critical CSS? Not So Fast! - CSS Wizardry

    2022-09-06
    Critical CSS promises faster loading, but is it worth the complexity? Learn when Critical CSS actually boosts performance or when it might slow you down.
  • Measure What You Impact, Not What You Influence - CSS Wizardry

    Measure What You Impact, Not What You Influence - CSS Wizardry

    2022-08-24
    When implementing performance fixes, it’s imperative that you measure the right thing—but what is ‘right’?
  • Optimising Largest Contentful Paint - CSS Wizardry

    Optimising Largest Contentful Paint - CSS Wizardry

    2022-03-28
    Let’s look at some more technical and non-obvious aspects of optimising Largest Contentful Paint
  • Measuring Web Performance in Mobile Safari - CSS Wizardry

    Measuring Web Performance in Mobile Safari - CSS Wizardry

    2021-02-26
    How often do you test your site in iOS Safari? Do you even know how?!
  • Site-Speed Topography - CSS Wizardry

    Site-Speed Topography - CSS Wizardry

    2020-11-03
    Learning the lay of the land
  • Speed Up Google Fonts - CSS Wizardry

    Speed Up Google Fonts - CSS Wizardry

    2020-05-19
    Google Fonts is fast. Now it’s faster. Much faster.
  • Real-World Effectiveness of Brotli - CSS Wizardry

    Real-World Effectiveness of Brotli - CSS Wizardry

    2020-04-22
    How effective is Brotli, really?
  • Performance Budgets, Pragmatically - CSS Wizardry

    Performance Budgets, Pragmatically - CSS Wizardry

    2020-01-08
    If you’ve ever struggled to define performance budgets, this off-the-shelf trick is what you’re looking for.
  • Lazy Pre-Browsing with Prefetch - CSS Wizardry

    Lazy Pre-Browsing with Prefetch - CSS Wizardry

    2019-08-15
    Using prefetch for fun and profit
  • Making Cloud.typography Fast(er) - CSS Wizardry

    Making Cloud.typography Fast(er) - CSS Wizardry

    2019-08-13
    What issues does Hoefler&Co’s Cloud.typography introduce, and how can we mitigate them?
  • Time to First Byte: What It Is and How to Improve It - CSS Wizardry

    Time to First Byte: What It Is and How to Improve It - CSS Wizardry

    2019-08-08
    Just how much does TTFB matter when it comes to front-end performance?
  • Self-Host Your Static Assets - CSS Wizardry

    Self-Host Your Static Assets - CSS Wizardry

    2019-05-31
    Why is it so much better to self-host your static assets?
  • Tips for Technical Interviews - CSS Wizardry

    Tips for Technical Interviews - CSS Wizardry

    2019-04-25
    How can you prepare for and survive a technical interview?
  • Cache-Control for Civilians - CSS Wizardry

    Cache-Control for Civilians - CSS Wizardry

    2019-03-04
    What does Cache-Control really do? In basic terms? Let’s find out!
  • Bandwidth or Latency: When to Optimise for Which - CSS Wizardry

    Bandwidth or Latency: When to Optimise for Which - CSS Wizardry

    2019-01-31
    How can you tell when bandwidth or latency are your bottlenecks?
  • ITCSS × Skillshare - CSS Wizardry

    ITCSS × Skillshare - CSS Wizardry

    2018-11-26
    The official introduction to ITCSS on Skillshare
  • What If? - CSS Wizardry

    What If? - CSS Wizardry

    2018-11-23
    How do we so often forget to ask the simple question: what if?
  • CSS and Network Performance - CSS Wizardry

    CSS and Network Performance - CSS Wizardry

    2018-11-09
    How can CSS impact network and resource-loading performance? Can things be that serious?
  • The Three Types of Performance Testing - CSS Wizardry

    The Three Types of Performance Testing - CSS Wizardry

    2018-10-27
    How can we make it easier for businesses to understand when and what to measure?
  • Getting to Know a Legacy Codebase - CSS Wizardry

    Getting to Know a Legacy Codebase - CSS Wizardry

    2018-07-21
    What should you do when you first get launched into an old, sprawling CSS codebase?
  • Image Inconsistencies: How and When Browsers Download Images - CSS Wizardry

    Image Inconsistencies: How and When Browsers Download Images - CSS Wizardry

    2018-06-11
    How and when do browsers download certain types of image? What does that mean for performance?
  • Identifying, Auditing, and Discussing Third Parties - CSS Wizardry

    Identifying, Auditing, and Discussing Third Parties - CSS Wizardry

    2018-05-21
    Gathering data about third-parties using free and open-source tooling
  • My Digital Music Setup - CSS Wizardry

    My Digital Music Setup - CSS Wizardry

    2018-04-02
    An overview of my hardware and software setup for listening to digital music
  • Measuring the Hard-to-Measure - CSS Wizardry

    Measuring the Hard-to-Measure - CSS Wizardry

    2018-03-01
    How can we gather valuable data about previously hard-to-measure things?
  • Finding Dead CSS - CSS Wizardry

    Finding Dead CSS - CSS Wizardry

    2018-01-17
    Finding dead or unused CSS on a live website
  • The Fallacies of Distributed Computing (Applied to Front-End Performance) - CSS Wizardry

    The Fallacies of Distributed Computing (Applied to Front-End Performance) - CSS Wizardry

    2017-11-21
    What can front-end and performance engineers learn from the Fallacies of Distributed Computing?
  • Ten Years Old - CSS Wizardry

    Ten Years Old - CSS Wizardry

    2017-11-19
    csswizardry.com turns ten today!
  • Relative Requirements - CSS Wizardry

    Relative Requirements - CSS Wizardry

    2017-11-10
    Define the relative importance of project traits in order to make development smoother
  • Airplanes and Ashtrays - CSS Wizardry

    Airplanes and Ashtrays - CSS Wizardry

    2017-10-30
    Sometimes you need to make it possible to do the wrong thing…
  • Performance and Resilience: Stress-Testing Third Parties - CSS Wizardry

    Performance and Resilience: Stress-Testing Third Parties - CSS Wizardry

    2017-07-31
    Assessing the fragility and resilience of third party resources
  • Refactoring Tunnels - CSS Wizardry

    Refactoring Tunnels - CSS Wizardry

    2017-06-02
    A metaphor for defining the scope of refactoring tasks
  • Little Things I Like to Do with Git - CSS Wizardry

    Little Things I Like to Do with Git - CSS Wizardry

    2017-05-23
    Handy Git tricks and aliases: leaderboards, praise, word-diff, branch history, daily recaps, changelog generation, and more in one quick guide.
  • Writing Tidy Code - CSS Wizardry

    Writing Tidy Code - CSS Wizardry

    2017-05-10
    Even the most inexperienced developers can write great looking code
  • Configuring Git and Vim - CSS Wizardry

    Configuring Git and Vim - CSS Wizardry

    2017-03-16
    Both amazing tools in their own rights, how can we get both playing nicely together?
  • Base64 Encoding & Performance, Part 2: Gathering Data - CSS Wizardry

    Base64 Encoding & Performance, Part 2: Gathering Data - CSS Wizardry

    2017-02-12
    Statistics, tests, and numbers looking at the performance costs of Base64
  • Base64 Encoding & Performance, Part 1: What’s Up with Base64? - CSS Wizardry

    Base64 Encoding & Performance, Part 1: What’s Up with Base64? - CSS Wizardry

    2017-02-12
    A look at the many huge disadvantages of Base64 encoding assets into your CSS
  • Code Smells in CSS Revisited - CSS Wizardry

    Code Smells in CSS Revisited - CSS Wizardry

    2017-02-08
    An update to my 2012 article, Code Smells in CSS
  • Typography for Developers - CSS Wizardry

    Typography for Developers - CSS Wizardry

    2017-02-06
    A look at the simple differences that developers and engineers can make in order to improve the quality of their typography
  • Moving CSS Wizardry onto HTTPS and HTTP/2 - CSS Wizardry

    Moving CSS Wizardry onto HTTPS and HTTP/2 - CSS Wizardry

    2017-01-25
    Improving security and performance on CSS Wizardry
  • Ack for CSS Developers - CSS Wizardry

    Ack for CSS Developers - CSS Wizardry

    2017-01-17
    Using the Ack tool to audit and profile your CSS
  • A New Year, a New Focus - CSS Wizardry

    A New Year, a New Focus - CSS Wizardry

    2017-01-09
    In 2017, I want to begin shifting my focus more toward making things fast
  • Preparing Vim for Apple’s Touch Bar - CSS Wizardry

    Preparing Vim for Apple’s Touch Bar - CSS Wizardry

    2017-01-08
    Apple are replacing their function row with a Touch Bar; how will this affect Vim?
  • Choosing the Correct Average - CSS Wizardry

    Choosing the Correct Average - CSS Wizardry

    2017-01-04
    A look at which average works best for representing certain types of data
  • CSS Shorthand Syntax Considered an Anti-Pattern - CSS Wizardry

    CSS Shorthand Syntax Considered an Anti-Pattern - CSS Wizardry

    2016-12-12
    Avoid using CSS’ shorthand syntax
  • CSS Wizardry Newsletter - CSS Wizardry

    CSS Wizardry Newsletter - CSS Wizardry

    2016-11-30
    CSS Wizardry has just got itself a newsletter…
  • Nesting Your BEM? - CSS Wizardry

    Nesting Your BEM? - CSS Wizardry

    2016-11-28
    A look at the possible benefits of nesting BEM, and mitigating the side effects
  • Improving Perceived Performance with Multiple Background Images - CSS Wizardry

    Improving Perceived Performance with Multiple Background Images - CSS Wizardry

    2016-10-23
    Using CSS gradients and multiple backgrounds to improve resilience and perceived performance
  • Continue Normalising Your CSS - CSS Wizardry

    Continue Normalising Your CSS - CSS Wizardry

    2016-10-19
    Why we should still be using Normalize.css
  • Pure CSS Content Filter - CSS Wizardry

    Pure CSS Content Filter - CSS Wizardry

    2016-10-15
    Experiment: Making a content filter using CSS
  • Pragmatic, Practical, and Progressive Theming with Custom Properties - CSS Wizardry

    Pragmatic, Practical, and Progressive Theming with Custom Properties - CSS Wizardry

    2016-10-10
    A low-cost approach for providing user customisation in UI projects
  • Refactoring CSS: The Three I’s - CSS Wizardry

    Refactoring CSS: The Three I’s - CSS Wizardry

    2016-08-30
    Three key steps to help you refactoring legacy code
  • Speaker’s Checklist: Before and After Your Talk - CSS Wizardry

    Speaker’s Checklist: Before and After Your Talk - CSS Wizardry

    2016-06-20
    Giving talks is stressful. Follow these tips to make the logistics of it a little simpler.
  • Improving Your CSS with Parker - CSS Wizardry

    Improving Your CSS with Parker - CSS Wizardry

    2016-06-01
    Using static analysis to learn where to improve your CSS
  • The Importance of !important: Forcing Immutability in CSS - CSS Wizardry

    The Importance of !important: Forcing Immutability in CSS - CSS Wizardry

    2016-05-08
    Forcing immutability in our utility classes by using !important
  • Mixins Better for Performance - CSS Wizardry

    Mixins Better for Performance - CSS Wizardry

    2016-02-25
    A look at the performance difference between Sass’ mixins and @extend
  • Managing Typography on Large Apps - CSS Wizardry

    Managing Typography on Large Apps - CSS Wizardry

    2016-02-21
    A look at managing typography more practically on larger sites and apps
  • White October Events Workshop Partnership - CSS Wizardry

    White October Events Workshop Partnership - CSS Wizardry

    2015-09-14
    An exciting new partnership to offer public workshops
  • BEMIT: Taking the BEM Naming Convention a Step Further - CSS Wizardry

    BEMIT: Taking the BEM Naming Convention a Step Further - CSS Wizardry

    2015-08-05
    Adding further meaning and information to the BEM naming convention
  • Travelling Like You Want to, When You Have To - CSS Wizardry

    Travelling Like You Want to, When You Have To - CSS Wizardry

    2015-06-21
    My own personal tips and tricks for surviving lots of air travel.
  • Contextual Styling: UI Components, Nesting, and Implementation Detail - CSS Wizardry

    Contextual Styling: UI Components, Nesting, and Implementation Detail - CSS Wizardry

    2015-06-13
    How to style specific components when they’re in specific locations
  • Subtleties with Self-Chained Classes - CSS Wizardry

    Subtleties with Self-Chained Classes - CSS Wizardry

    2015-06-11
    A brief note on some of the subtleties and oddities when chaining classes with themselves.
  • Cyclomatic Complexity: Logic in CSS - CSS Wizardry

    Cyclomatic Complexity: Logic in CSS - CSS Wizardry

    2015-04-26
    A look at how CSS has always contained logic and conditions
  • Immutable CSS - CSS Wizardry

    Immutable CSS - CSS Wizardry

    2015-03-11
    Treating CSS rules as being immutable
  • Can CSS Be Too Modular? - CSS Wizardry

    Can CSS Be Too Modular? - CSS Wizardry

    2015-03-08
    Looking at the dangers of abstracting CSS too far
  • More Transparent UI Code with Namespaces - CSS Wizardry

    More Transparent UI Code with Namespaces - CSS Wizardry

    2015-03-06
    Employing a suite of namespaces to make your UI code more readable and transparent
  • When to use @extend; when to use a mixin - CSS Wizardry

    When to use @extend; when to use a mixin - CSS Wizardry

    2014-11-20
    When is it suitable to use Sass @extend or mixin features, and why?
  • The Specificity Graph - CSS Wizardry

    The Specificity Graph - CSS Wizardry

    2014-10-29
    The Specificity Graph as a model for visualising specificity issues in your code
  • CSS Wizardry Ltd.: Year 1 in review - CSS Wizardry

    CSS Wizardry Ltd.: Year 1 in review - CSS Wizardry

    2014-10-24
    A look back on my first year of self employment
  • CSS Guidelines 2.0.0 - CSS Wizardry

    CSS Guidelines 2.0.0 - CSS Wizardry

    2014-08-15
    Announcing the next iteration and business model of my popular CSS Guidelines document
  • Advice to budding front-end developers - CSS Wizardry

    Advice to budding front-end developers - CSS Wizardry

    2014-08-05
    A collation of the advice I regularly give out to new and emerging web developers
  • CSS Wizardry referral scheme - CSS Wizardry

    CSS Wizardry referral scheme - CSS Wizardry

    2014-08-04
    A way to say thank you to the individuals responsible for their companies hiring me
  • Hacks for dealing with specificity - CSS Wizardry

    Hacks for dealing with specificity - CSS Wizardry

    2014-07-17
    A couple of quick hacks and tricks for manipulating specificity
  • Vim for People Who Think Things Like Vim Are Weird and Hard - CSS Wizardry

    Vim for People Who Think Things Like Vim Are Weird and Hard - CSS Wizardry

    2014-06-23
    An introduction to the whats and the whys of using Vim as your text editor
  • Grouping related classes in your markup - CSS Wizardry

    Grouping related classes in your markup - CSS Wizardry

    2014-05-21
    An interesting way of visually and ‘physically’ grouping multiple class attributes
  • My Trello workflow - CSS Wizardry

    My Trello workflow - CSS Wizardry

    2014-05-02
    How I manage development projects using Trello
  • Naming UI components in OOCSS - CSS Wizardry

    Naming UI components in OOCSS - CSS Wizardry

    2014-03-26
    A way of giving complex, OOCSS-built components more meaningful names
  • Use zero-width spaces to stop annoying Twitter users - CSS Wizardry

    Use zero-width spaces to stop annoying Twitter users - CSS Wizardry

    2014-01-21
    A little trick to stop mentioning Twitter users when you write @import, etc.
  • Extending silent classes in Sass - CSS Wizardry

    Extending silent classes in Sass - CSS Wizardry

    2014-01-07
    A simple trick for controlling the reach of Sass’ `@extend`
  • Workshop: Event Handler, London, February 2014 - CSS Wizardry

    Workshop: Event Handler, London, February 2014 - CSS Wizardry

    2013-12-17
    My first workshop in association with the fine folk at Event Handler
  • I wrote (part of) a book! - CSS Wizardry

    I wrote (part of) a book! - CSS Wizardry

    2013-12-16
    My section in the latest Smashing Book
  • My setup - CSS Wizardry

    My setup - CSS Wizardry

    2013-12-05
    A brief overview of my tools and software I use for work
  • The problems with ‘crafting’ code - CSS Wizardry

    The problems with ‘crafting’ code - CSS Wizardry

    2013-11-24
    Some thoughts on our use of the word ‘craft’ to describe our work
  • Taming data tables - CSS Wizardry

    Taming data tables - CSS Wizardry

    2013-11-22
    Laying out data tables in a consistent way, finally!
  • Workshop: Smashing Workshops, Zürich, December 2013 - CSS Wizardry

    Workshop: Smashing Workshops, Zürich, December 2013 - CSS Wizardry

    2013-11-06
    Announcing my first workshop in association with Smashing Workshops
  • Code reviews as a service - CSS Wizardry

    Code reviews as a service - CSS Wizardry

    2013-11-04
    A new service I’m offering: remote code reviews
  • Workshop: Make Do, Leeds, November 2013 - CSS Wizardry

    Workshop: Make Do, Leeds, November 2013 - CSS Wizardry

    2013-10-30
    Announcing my first workshop in association with Make Do
  • ‘It’s because you’re polite.’ - CSS Wizardry

    ‘It’s because you’re polite.’ - CSS Wizardry

    2013-10-28
    A personal post about helpfulness and politeness.
  • Let’s work together - CSS Wizardry

    Let’s work together - CSS Wizardry

    2013-10-17
    I’m looking for amazing people to work with on great products.
  • Make it count - CSS Wizardry

    Make it count - CSS Wizardry

    2013-07-25
    Everything you do, do it for a reason, and make that reason a good one.
  • Speak The Web discount code - CSS Wizardry

    Speak The Web discount code - CSS Wizardry

    2013-07-19
    Amazing events with 25% off!
  • Leeds hangout - CSS Wizardry

    Leeds hangout - CSS Wizardry

    2013-07-10
    I have a couple of days off in Leeds around two conferences; let’s meet…?
  • Writing DRYer vanilla CSS - CSS Wizardry

    Writing DRYer vanilla CSS - CSS Wizardry

    2013-07-05
    DRYing out our CSS at its most basic level
  • Hashed classes in CSS - CSS Wizardry

    Hashed classes in CSS - CSS Wizardry

    2013-05-28
    Spoofing the uniqueness of IDs by putting hashes in your classes
  • ‘Scope’ in CSS - CSS Wizardry

    ‘Scope’ in CSS - CSS Wizardry

    2013-05-22
    Applying the concept of scope to our CSS
  • The flag object - CSS Wizardry

    The flag object - CSS Wizardry

    2013-05-08
    A new OOCSS abstraction
  • shame.css – full .net interview - CSS Wizardry

    shame.css – full .net interview - CSS Wizardry

    2013-04-25
    The full version of the .net magazine shame.css interview
  • shame.css - CSS Wizardry

    shame.css - CSS Wizardry

    2013-04-17
    Keeping track of your hacks
  • .net award nominee - CSS Wizardry

    .net award nominee - CSS Wizardry

    2013-03-18
    I’ve been nominated for a .net award!
  • Introducing csswizardry-grids - CSS Wizardry

    Introducing csswizardry-grids - CSS Wizardry

    2013-02-07
    A responsive, fluid, nestable, Sass-based grid system.
  • Responsive grid systems; a solution? - CSS Wizardry

    Responsive grid systems; a solution? - CSS Wizardry

    2013-02-06
    A look at building a practical, robust, flexible, usable responsive grid system.
  • You know your context – on critical thinking and thinking for yourself - CSS Wizardry

    You know your context – on critical thinking and thinking for yourself - CSS Wizardry

    2013-01-29
    About learning to look at things objectively and apply your own context
  • MindBEMding – getting your head ’round BEM syntax - CSS Wizardry

    MindBEMding – getting your head ’round BEM syntax - CSS Wizardry

    2013-01-25
    A primer on the oft-confusing BEM notation for CSS
  • Your logo is still an image… and so is mine! - CSS Wizardry

    Your logo is still an image… and so is mine! - CSS Wizardry

    2013-01-23
    Balancing image semantics with performance ideals
  • Front-end performance for web designers and front-end developers - CSS Wizardry

    Front-end performance for web designers and front-end developers - CSS Wizardry

    2013-01-20
    A comprehensive primer on front-end performance for designers and front-end developers
  • Discussion via Branch - CSS Wizardry

    Discussion via Branch - CSS Wizardry

    2013-01-15
    Adding comments though Branch
  • A new CSS Wizardry - CSS Wizardry

    A new CSS Wizardry - CSS Wizardry

    2012-12-21
    Big changes for CSS Wizardry
  • My Git workflow for inuit.css - CSS Wizardry

    My Git workflow for inuit.css - CSS Wizardry

    2012-12-06
    A brief overview of how I use Git, specifically on inuit.css.
  • Code smells in CSS - CSS Wizardry

    Code smells in CSS - CSS Wizardry

    2012-11-20
    The things I look out for when writing or reviewing CSS.
  • A classless class—on using more classes in your HTML - CSS Wizardry

    A classless class—on using more classes in your HTML - CSS Wizardry

    2012-10-16
    An analogy to explain why it is a good idea to use more classes.
  • Announcing pr.ofile.me - CSS Wizardry

    Announcing pr.ofile.me - CSS Wizardry

    2012-10-14
    A new project!
  • inuit.css v4.0.0—OOCSS, Sass and more - CSS Wizardry

    inuit.css v4.0.0—OOCSS, Sass and more - CSS Wizardry

    2012-09-30
  • Canvas Conf, 2012 - CSS Wizardry

    Canvas Conf, 2012 - CSS Wizardry

    2012-09-10
  • Tags in CSS files - CSS Wizardry

    Tags in CSS files - CSS Wizardry

    2012-08-07
  • Shoot to kill; CSS selector intent - CSS Wizardry

    Shoot to kill; CSS selector intent - CSS Wizardry

    2012-07-17
  • Quasi-qualified CSS selectors - CSS Wizardry

    Quasi-qualified CSS selectors - CSS Wizardry

    2012-07-16
  • The open/closed principle applied to CSS - CSS Wizardry

    The open/closed principle applied to CSS - CSS Wizardry

    2012-06-21
  • Single-direction margin declarations - CSS Wizardry

    Single-direction margin declarations - CSS Wizardry

    2012-06-12
  • Keep your CSS selectors short - CSS Wizardry

    Keep your CSS selectors short - CSS Wizardry

    2012-05-15
  • Front-Trends 2012 - CSS Wizardry

    Front-Trends 2012 - CSS Wizardry

    2012-04-29
  • The single responsibility principle applied to CSS - CSS Wizardry

    The single responsibility principle applied to CSS - CSS Wizardry

    2012-04-28
  • My HTML/CSS coding style - CSS Wizardry

    My HTML/CSS coding style - CSS Wizardry

    2012-04-20
  • Comments on CSS Wizardry - CSS Wizardry

    Comments on CSS Wizardry - CSS Wizardry

    2012-04-16
  • Hacker News rebuttal - CSS Wizardry

    Hacker News rebuttal - CSS Wizardry

    2012-03-13
  • Pragmatic, practical font sizing in CSS - CSS Wizardry

    Pragmatic, practical font sizing in CSS - CSS Wizardry

    2012-02-29
  • Breaking Good Habits—The Digital Barn - CSS Wizardry

    Breaking Good Habits—The Digital Barn - CSS Wizardry

    2012-02-12
  • On HTML and CSS best practices - CSS Wizardry

    On HTML and CSS best practices - CSS Wizardry

    2011-12-11
  • Measuring and sizing UIs, 2011-style (and beyond) - CSS Wizardry

    Measuring and sizing UIs, 2011-style (and beyond) - CSS Wizardry

    2011-12-07
  • Create a notched current-state nav - CSS Wizardry

    Create a notched current-state nav - CSS Wizardry

    2011-11-08
  • Build-along #1, reflection and reasoning - CSS Wizardry

    Build-along #1, reflection and reasoning - CSS Wizardry

    2011-11-05
  • CSS Wizardry build-along #1 - CSS Wizardry

    CSS Wizardry build-along #1 - CSS Wizardry

    2011-11-03
  • Sam Penrose Design—process and write-up - CSS Wizardry

    Sam Penrose Design—process and write-up - CSS Wizardry

    2011-11-02
  • Fully fluid, responsive CSS carousel - CSS Wizardry

    Fully fluid, responsive CSS carousel - CSS Wizardry

    2011-10-31
  • The CSS Wizardry build-along is go! - CSS Wizardry

    The CSS Wizardry build-along is go! - CSS Wizardry

    2011-10-27
  • Build-along (testing the water) - CSS Wizardry

    Build-along (testing the water) - CSS Wizardry

    2011-10-25
  • Reset restarted - CSS Wizardry

    Reset restarted - CSS Wizardry

    2011-10-18
  • The ‘island’ object - CSS Wizardry

    The ‘island’ object - CSS Wizardry

    2011-10-16
  • The ‘nav’ abstraction - CSS Wizardry

    The ‘nav’ abstraction - CSS Wizardry

    2011-09-22
  • Ordered and numbered lists; the differences - CSS Wizardry

    Ordered and numbered lists; the differences - CSS Wizardry

    2011-09-17
  • Writing efficient CSS selectors - CSS Wizardry

    Writing efficient CSS selectors - CSS Wizardry

    2011-09-17
    CSS selectors, and their combinations, can be fast or slow! And while hopefully imperceptible, it’s definitely worth knowing about.
  • Do designers need to code? - CSS Wizardry

    Do designers need to code? - CSS Wizardry

    2011-09-13
  • When using IDs can be a pain in the class... - CSS Wizardry

    When using IDs can be a pain in the class... - CSS Wizardry

    2011-09-11
  • Two titillating table tips - CSS Wizardry

    Two titillating table tips - CSS Wizardry

    2011-08-24
  • Building better grid systems - CSS Wizardry

    Building better grid systems - CSS Wizardry

    2011-08-23
  • Good developers are illusionists - CSS Wizardry

    Good developers are illusionists - CSS Wizardry

    2011-08-18
  • Updated CV - CSS Wizardry

    Updated CV - CSS Wizardry

    2011-08-08
  • More logo markup tips - CSS Wizardry

    More logo markup tips - CSS Wizardry

    2011-08-02
  • Borders on responsive images - CSS Wizardry

    Borders on responsive images - CSS Wizardry

    2011-07-31
  • .net magazine awards nominee - CSS Wizardry

    .net magazine awards nominee - CSS Wizardry

    2011-07-25
  • Responsive images right now - CSS Wizardry

    Responsive images right now - CSS Wizardry

    2011-07-16
  • Fluid grid calculator - CSS Wizardry

    Fluid grid calculator - CSS Wizardry

    2011-06-28
  • Namespacing fragment identifiers - CSS Wizardry

    Namespacing fragment identifiers - CSS Wizardry

    2011-06-20
  • What is inuit.css? - CSS Wizardry

    What is inuit.css? - CSS Wizardry

    2011-06-19
  • Styling alt text on images - CSS Wizardry

    Styling alt text on images - CSS Wizardry

    2011-06-18
  • Introducing igloos—inuit.css gets plugins - CSS Wizardry

    Introducing igloos—inuit.css gets plugins - CSS Wizardry

    2011-06-11
  • DIBI 2011 - CSS Wizardry

    DIBI 2011 - CSS Wizardry

    2011-06-05
  • Annotated <figure>s in HTML5 and CSS - CSS Wizardry

    Annotated <figure>s in HTML5 and CSS - CSS Wizardry

    2011-06-03
  • Font sizing with rem could be avoided - CSS Wizardry

    Font sizing with rem could be avoided - CSS Wizardry

    2011-05-31
  • jQuery placeholder plugin/polyfill - CSS Wizardry

    jQuery placeholder plugin/polyfill - CSS Wizardry

    2011-05-24
  • On negative hovers - CSS Wizardry

    On negative hovers - CSS Wizardry

    2011-05-18
  • Introducing inuit.css - CSS Wizardry

    Introducing inuit.css - CSS Wizardry

    2011-04-20
  • Ideas of March - CSS Wizardry

    Ideas of March - CSS Wizardry

    2011-03-15
  • Coding up a semantic, lean timeline - CSS Wizardry

    Coding up a semantic, lean timeline - CSS Wizardry

    2011-03-14
  • Link: Technical Web Typography: Guidelines and Techniques - CSS Wizardry

    Link: Technical Web Typography: Guidelines and Techniques - CSS Wizardry

    2011-03-14
  • Problems with the sans-serif hack - CSS Wizardry

    Problems with the sans-serif hack - CSS Wizardry

    2011-03-01
  • Mobile business card - CSS Wizardry

    Mobile business card - CSS Wizardry

    2011-02-22
  • Creating a pure CSS dropdown menu - CSS Wizardry

    Creating a pure CSS dropdown menu - CSS Wizardry

    2011-02-17
  • Pure CSS(3) accordion - CSS Wizardry

    Pure CSS(3) accordion - CSS Wizardry

    2011-02-17
  • CSS powered ribbons the clean way - CSS Wizardry

    CSS powered ribbons the clean way - CSS Wizardry

    2011-02-09
  • Create a centred horizontal navigation - CSS Wizardry

    Create a centred horizontal navigation - CSS Wizardry

    2011-01-29
    2025 refresh: build a perfectly centred horizontal nav with just two Flexbox rules—`display:flex` and `justify-content:center`. Demo included!
  • Link: Recreating the Luke's Beard social icons with CSS3 - CSS Wizardry

    Link: Recreating the Luke's Beard social icons with CSS3 - CSS Wizardry

    2011-01-23
  • Using the <body> element as a wrapper - CSS Wizardry

    Using the <body> element as a wrapper - CSS Wizardry

    2011-01-23
  • HTML(5) and text-level semantics - CSS Wizardry

    HTML(5) and text-level semantics - CSS Wizardry

    2011-01-23
  • Client respect - CSS Wizardry

    Client respect - CSS Wizardry

    2011-01-18
  • Maximising hit-area for usability - CSS Wizardry

    Maximising hit-area for usability - CSS Wizardry

    2011-01-12
  • HTML elements, tags and attributes - CSS Wizardry

    HTML elements, tags and attributes - CSS Wizardry

    2011-01-11
  • A new year, a new CSS Wizardry II - CSS Wizardry

    A new year, a new CSS Wizardry II - CSS Wizardry

    2011-01-10
  • Scrolling overflowed content in iOS - CSS Wizardry

    Scrolling overflowed content in iOS - CSS Wizardry

    2011-01-07
  • The real HTML5 boilerplate - CSS Wizardry

    The real HTML5 boilerplate - CSS Wizardry

    2011-01-06
  • A new year, a new CSS Wizardry - CSS Wizardry

    A new year, a new CSS Wizardry - CSS Wizardry

    2011-01-05
  • Mo’ robust paragraph indenting - CSS Wizardry

    Mo’ robust paragraph indenting - CSS Wizardry

    2010-12-21
  • Media queries, handier than you think - CSS Wizardry

    Media queries, handier than you think - CSS Wizardry

    2010-12-21
  • The implementation ∝ appreciation rule - CSS Wizardry

    The implementation ∝ appreciation rule - CSS Wizardry

    2010-12-08
  • CSS: CamelCase Seriously Sucks! - CSS Wizardry

    CSS: CamelCase Seriously Sucks! - CSS Wizardry

    2010-12-06
  • Improving CSS tooltips - CSS Wizardry

    Improving CSS tooltips - CSS Wizardry

    2010-11-30
  • Design and education - CSS Wizardry

    Design and education - CSS Wizardry

    2010-11-29
  • Mark up a semantic, accessible, progressively enhanced, mobile optimised progress bar (bonus: style the numbers in an ordered list!) - CSS Wizardry

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

    2010-11-17
  • I hate that I love Writer - CSS Wizardry

    I hate that I love Writer - CSS Wizardry

    2010-10-20
  • Unsung heroes - CSS Wizardry

    Unsung heroes - CSS Wizardry

    2010-10-20
  • Things are changing at CSS Wizardry - CSS Wizardry

    Things are changing at CSS Wizardry - CSS Wizardry

    2010-10-19
  • Your logo is an image, not an <h1> - CSS Wizardry

    Your logo is an image, not an <h1> - CSS Wizardry

    2010-10-13
  • Good developers vs. good salespeople - CSS Wizardry

    Good developers vs. good salespeople - CSS Wizardry

    2010-10-06
  • Designing in the browser leads to better quality builds - CSS Wizardry

    Designing in the browser leads to better quality builds - CSS Wizardry

    2010-10-05
  • In response to ‘Invisible captcha to prevent form spam’ - CSS Wizardry

    In response to ‘Invisible captcha to prevent form spam’ - CSS Wizardry

    2010-10-04
  • Keeping code clean with content - CSS Wizardry

    Keeping code clean with content - CSS Wizardry

    2010-09-27
  • A quick counter to 'The Digital Agencies of the Future!' - CSS Wizardry

    A quick counter to 'The Digital Agencies of the Future!' - CSS Wizardry

    2010-09-16
  • Set then unset (or reset...?) - CSS Wizardry

    Set then unset (or reset...?) - CSS Wizardry

    2010-09-05
  • Zebra-striping rows and columns - CSS Wizardry

    Zebra-striping rows and columns - CSS Wizardry

    2010-08-31
  • Semantics and sensibility - CSS Wizardry

    Semantics and sensibility - CSS Wizardry

    2010-08-09
  • Building sites without using IDs or classes - CSS Wizardry

    Building sites without using IDs or classes - CSS Wizardry

    2010-04-07
  • 30 days without an iPhone - CSS Wizardry

    30 days without an iPhone - CSS Wizardry

    2010-03-08
  • Moving forward is holding us back - CSS Wizardry

    Moving forward is holding us back - CSS Wizardry

    2010-03-02
  • A quick note on border radius - CSS Wizardry

    A quick note on border radius - CSS Wizardry

    2010-03-02
  • Type tips—quick tips on all things web typography - CSS Wizardry

    Type tips—quick tips on all things web typography - CSS Wizardry

    2010-02-24
  • Multiple column lists using one <ul> - CSS Wizardry

    Multiple column lists using one <ul> - CSS Wizardry

    2010-02-11
  • Upside down domains—registering an international domain name - CSS Wizardry

    Upside down domains—registering an international domain name - CSS Wizardry

    2010-02-04
  • CSS bar charts—styling data with CSS3 and progressive enhancement - CSS Wizardry

    CSS bar charts—styling data with CSS3 and progressive enhancement - CSS Wizardry

    2010-02-02
  • iPhone CSS—tips for building iPhone websites - CSS Wizardry

    iPhone CSS—tips for building iPhone websites - CSS Wizardry

    2010-01-31
  • The three types of dash - CSS Wizardry

    The three types of dash - CSS Wizardry

    2010-01-30
  • The importance of proper punctuation - CSS Wizardry

    The importance of proper punctuation - CSS Wizardry

    2010-01-27
  • A reconsideration—in defence of <b> and <i> (or: people fear what they don’t understand) - CSS Wizardry

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

    2010-01-26
  • A suitable alternative—on proper use of alt attributes - CSS Wizardry

    A suitable alternative—on proper use of alt attributes - CSS Wizardry

    2010-01-26
  • Typographic work planner - CSS Wizardry

    Typographic work planner - CSS Wizardry

    2009-12-22