• In the CSS naming-convention arms race to lowest specificity, I’ve decided to only use universal * selectors. I call it F*CSS.

    * {
    box-sizing: border-box;
    margin: 1em auto;
    max-width: 40em;
    padding: 0;
    }

    See the CodePen Demo »


    1. The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpret… ↩︎

    code’ orgs

    OddBird

    Co-Founder: accessible web software with human-centered design

    CSS Tricks

    Staff Writer: blog for people who make websites

    Sass

    Core Contributor: CSS with superpowers

    Mozilla Developer

    DevRel Contractor: Videos, articles, & tools from Mozilla (and OddBird)

    108 ‘code’ episodes

    soon

    Resilient Web Systems @ Smashing Conf Austin

    | workshop | Austin, TX

    Take full advantage of the universal web, and reduce maintenance over the long term with resilient HTML & CSS systems.

    CSS is Rad @ Smashing Conf Austin

    | talk | Austin, TX

    Depending who you ask, CSS is either awesome or broken. CSS is not a programming language, unless it is. CSS is too simple and entirely too difficult. CSS is weird – not like other languages, and not like print design either – but trapped in a strange middle ground with unique rules and constraints.

    Advanced CSS & Sass @ Webconf.asia

    | workshop | Hong Kong

    From building beautiful sites to maintaining complex design systems across applications, CSS is the web-language of design.

    Dynamic CSS @ Webconf.asia

    | talk | Hong Kong

    Don’t let the declarative syntax fool you – CSS is a powerful and dynamic programming language. It’s time to start moving style logic back into the language designed for it.


    2019

    Selector Support Queries @ Mozilla Developer

    | video

    Firefox 69 was the first to implement selector feature queries, but other browsers are following suit. I’ll show you how it works, and how to start using this new feature query right away.

    CSS is Rad @ Front Range Front End

    | talk | Denver, CO

    Overflow-Wrap in CSS @ Mozilla Developer

    | video

    Horizontal text overflow has always been difficult to manage on the web. The default visible overflow is designed to make sure content remains accessible no matter the size of a containing box, but it’s not our only option.

    CSS Most Normalizer-est

    | lol

    Why waste your time on half-measures? Make your site THE MOST NORMALEST with this ULTIMATE CSS RESET.

    Scroll Snap in CSS @ Mozilla Developer

    | video

    When we’re scrolling down a page, or through a gallery of images, snap-targets can help guide us from one section or image to the next. In the past, developers have used JavaScript to hijack scrolling, but now we can manage scroll alignment directly in CSS with only a few lines of code.

    Inner & Outer Values of the Display Property @ Mozilla Developer

    | video

    The display property has been in CSS from the beginning, handling everything from block and inline boxes to list-items and full layout systems like flexbox or grid. Now the display syntax is getting an upgrade to match it’s multiple uses.

    On Sass & CSS @ Shop Talk Show

    | podcast

    I drop by the show to talk about Sass in 2019, design tokens, Oddbird, unused CSS, new CSS properties, and Dave & Chris’ explanation of revert.

    Why isn’t this CSS doing anything? @ Mozilla Developer

    | video

    There are a number of property & value combinations that can lead to CSS being inactive, and now Firefox will tell you why. Open the developer tools, and look for the greyed-out property with an info-box on hover.

    Laying out Forms using Subgrid @ Mozilla Developer

    | video

    It’s a common pattern to align form labels and inputs in grid-like layout. I’ll show you how to do it quickly using CSS subgrid, with several quick fallbacks.

    Subgrid for Better Card Layouts @ Mozilla Developer

    | video

    Card layouts are popular on the web, rows and columns of boxes with similar content. CSS grids can help align those cards, but it’s still be hard to line-up content inside the cards – headers and footers that might need more or less room.

    CSS is Rad @ Smashing Conf NY

    | talk | New York, NY

    Depending who you ask, CSS is either awesome or broken. CSS is not a programming language, unless it is. CSS is too simple and entirely too difficult. CSS is weird – not like other languages, and not like print design either – but trapped in a strange middle ground with unique rules and constraints.

    Faster Layouts with CSS Grid @ Mozilla Developer

    | video

    For years, we’ve struggled to build resilient layouts on the web, but CSS Grid promises to change all that – and you can start using it now, with only a few properties and basic concepts.

    CSS Revert @ Mozilla Developer

    | video

    I’ve often used initial and unset in my CSS – global keywords that can be applied to any property. The difference is small, but important: unset allows inheritance, while initial does not. But then Firefox implemented revert and I was confused – how is this one different from the others?!

    Introducing Sass ModulesCSS Tricks

    | article

    Sass recently launched a new module system. The new syntax will replace @import with @use and @forward – a big step forward for making Sass partials more readable, performant, and safe.

    Why is CSS so Weird? @ Mozilla Developer

    | video

    CSS is the design language of the web – one of three core web languages – but it also seems to be the most contentious and often perplexing. It’s too easy and too hard, too fragile and too resilient. Love it or hate it, CSS is weird: not quite markup, not quite programming in the imperative sense, and nothing like the design programs we use for print. How did we get here?

    Styling Lists in CSS @ Mozilla Developer

    | video

    When you create lists in HTML, browsers add bullet-points or numbers we call list markers. Now CSS gives us the tools to style those list markers, and even create our own!

    User Unfriendly @ Agnes Scott College

    | talk | Atlanta, GA

    A project-manager’s reflections on human-centered problem-solving, client communication, and user feedback in agile web development.

    F*CSS

    | lol

    Dynamic CSS @ Develop Denver

    | talk | Denver, CO

    Agile Design Systems @ Agile Alliance

    | talk | Washington, DC

    Style Guides & Pattern Libraries are great tools for documenting the relationships between code and design, but beautiful docs are only half the battle.

    Design Systems & CSS @ Views on Vue

    | podcast

    We start by talking about design systems and design tooling – how they differ, and the problems they solve.

    CSS Custom Properties @ Smashing Magazine

    | code

    Pushing past the “variable” metaphor, CSS Custom Properties can provide new ways to balance context and isolation in our patterns and components.

    Dynamic CSS @ Generate New York

    | talk | San Francisco, CA

    Has CSS finally come of age? @ Creative Bloq

    | interview

    Steve Jenkins interviews me about the state of CSS, and what’s coming next for the language – from Intrinsic Design to Dynamic CSS.

    Advanced CSS & Sass @ Smashing Conf

    | workshop | San Francisco, CA

    From building beautiful sites to maintaining complex design systems across applications, CSS is the web-language of design.

    Dynamic CSS @ Smashing Conf

    | talk | San Francisco, CA

    Dynamic CSS @ VueConf US

    | talk | Tampa, FL

    On Dynamic CSS @ Thunder Nerds

    | podcast

    Thunder Nerds interview me before her talk at VueConf US 2019.

    Don’t Use My Grid System @ Boulder Python

    | talk | Boulder, CO

    Explore the history of web layout with the creator of Susy – why grid systems exist, how they work, and practical tips to avoid using them.

    2018

    Fonts & more @ Views on Vue

    | podcast

    The panel and the guest talk about grid systems, fonts, and more!

    Dynamic CSS @ Front Range Front-End

    | talk | Denver, CO

    Dynamic CSS @ Full Stack Fest

    | talk | Barcelona, Spain

    Ethics, ES6 in Practice, and Dynamic CSS @ TalkScript

    | podcast

    On Episode 18, the TalkScript team continues the live-ish at JSConfUS podcast series with guests Myles Borins, Tim Doherty, and Miriam Suzanne. Listen in!

    Dynamic CSS @ JSConf US

    | talk | Carlsbad, CA

    Dynamic CSS @ CSSConf Argentina

    | talk | Buenos Aires, Argentina

    User Unfriendly @ Metro State Mobile Prototyping

    | talk | Denver, CO

    2017

    Code Patterns @ Refresh Denver

    | talk | Denver, CO

    Style Guides & Pattern Libraries are great tools for documenting the relationships between code and design, but beautiful docs are only half the battle.

    More CSS Charts, with Grid & Custom PropertiesCSS Tricks

    | article

    Inspired by Robin Rendle, I demonstrate some of my early experiments combining CSS Grids and custom properties to create dynamic layouts and data-visualizations.

    Fun with Viewport UnitsCSS Tricks

    | article

    Viewport units have been around for several years now, with near-perfect support in the major browsers, but I keep finding new and exciting ways to use them. I thought it would be fun to review the basics, and then round-up some of my favorite use-cases.

    Code Patterns @ Front Range Front End

    | talk | Denver, CO

    Getting Started with CSS GridCSS Tricks

    | video

    It feels like CSS Grid has been coming for a long time now, but it just now seems to be reaching a point where folks are talking more and more about it and that it’s becoming something we should learning.

    Losing ControlUVA Scholars’ Lab

    | talk | Charlottesville, VA

    Some Kind of Resistance Tour @ Open Grounds

    | journal | Charlottesville, VA

    It’s been a month since our country pseudo-elected a bigoted blow-hard for president. I’m heading to DC to protest his inauguration in January, visit friends, and go on a mixed-media resistance tour…

    Code Patterns @ Gotham Sass

    | talk | New York, NY

    2016

    Some Kind of Resistance Tour

    | journal

    It’s been a month since our country pseudo-elected a bigoted blow-hard for president. I’m heading to DC to protest his inauguration in January, visit friends, and go on a mixed-media resistance tour…

    Loops in CSS PreprocessorsCSS Tricks

    | article

    No matter what acronym drives your selectors (BEM, OOCSS, SMACSS, ETC), loops can help keep your patterns more readable and maintainable, baking them directly into your code. We’ll take a look at what loops can do, and how to use them in the major CSS preprocessors.

    *Beyond Pixels Profile @ Net Magazine

    | interview

    Miriam Suzanne creates experimental experiences with her band and her fellow developers.

    An Interview with Miriam SuzanneCSS Tricks

    | article

    Chris Coyier interviews Miriam when she joins the CSS Tricks team as a Staff Writer. We talk about gettting started in the industry, name confusion, fouding OddBird, building Susy, and more.

    Versioning Show, Episode 8 @ SitePoint

    | podcast

    In this episode of the Versioning Show, Tim and David are joined by Miriam Suzanne, best known for Susy, a responsive layout toolkit for Sass. They discuss going from being a lurker to finding your voice, the importance of writing about what you’re learning, stumbling into fame, approaching new projects, and unit testing in Sass.

    Sass Map Magic @ CSSConf 2016

    | talk | Boston, MA

    Maps are a powerful data type in Sass – perfect for managing color and scale palettes, framework configuration, data storage, and more.

    Code Patterns @ Clarity

    | talk | San Francisco, CA

    Jump Start Sass @ SitePoint

    | book

    Using Sass, you can write your stylesheets in a more concise, dynamic, and readable way, and cut down many of the repetitive tasks that come with writing vanilla CSS. This book provides a thorough introduction to Sass for the beginner.

    2015

    Herman @ OddBird

    | project

    Design systems streamline development, communication, and consistency – but often rely on dedicated teams and extended budgets.

    Sassy Toolkits @ Frontend Zurich

    | talk | Zurich, Switzerland

    a case-study in building and sharing open-source Sass

    Sass Map Magic @ Future Insights Live

    | talk | Las Vegas, NV

    2014

    Accoutrement @ OddBird

    | project

    Design systems must be meaningful to both humans and machines Accoutrement provides Sass design-token management that improves readability and consistency, while encouraging automation.

    2013

    True @ OddBird

    | project

    True is a full-featured unit-testing library for Sass. The core functionality is written in pure SassScript, so it can be used anywhere Sass is compiled. Advanced features are available with our JS test-runner integration.

    2012

    Into the Green Green Mud @ greengreenmud.com

    | novel

    A novel about new love, moving apart, and what comes next. A love story, and an after-love story – told wiith poetry and pictures.

    2009

    Susy @ OddBird

    | project

    Susy is a lightweight grid-layout engine for Sass, designed to simplify and clarify responsive grid layouts without ever getting in your way. Originally released in 2009, Susy has become one of the most popular layout frameworks on the web.