Co-Founder: Custom web applications, developer tools, and training
CSS Custom Properties allow us to manage and control both cascade and inheritance in new ways.
Since the inception of CSS in 1994, the cascade and inheritance have defined how we design on the web. Both are powerful features, but as authors we’ve had very little control over how they interact. Selector specificity and source order provide some minimal “layering” control, without a lot of nuance — and inheritance requires an unbroken lineage. Let’s look at the ways CSS custom properties can improve this for us…
Styling the Intrinsic Web @ Smashing Conf | San Francisco, CA
Over the last decade, Responsive Web Design and Object Oriented CSS have grown from exciting new trends into the foundations of modern, component-driven web design. But our medium is not done evolving.
In CSS, there are compound selectors and also complex selectors, and I never remember which is which. Do you need to learn the difference? Probably not. But I’m tired of looking it up.
CSS Cascade 5 (Layers) @ PostCSS Polyfill
Cascade & Inheritance Level 5 defines Cascade Layers – allowing authors to define explicit contained layers of specificity.
CSS State Toggles [WIP] @ Proposal & Explainer
Declarative controls for presentational state
A Complete Guide to CSS Cascade Layers @ CSS Tricks
Cascade layers are a new CSS feature that allows us to define explicit contained layers of specificity.
CSS Cascade 5 (Layers) @ Released in Browsers
CSS Containment 3 (Container Queries) @ Working Draft
CSS Containment Level 3 defines Container Queries and container-relative units – allowing authors to build more intrinsic responsive components without knowledge of the overall layout.
CSS Cascade 6 (Scope) @ Working Draft
Cascade & Inheritance Level 6 defines scoped styles – allowing authors to provide bounded ranges for selector-matching, and give priority to more ‘proximate’ scope origins.
Designcember Community Highlight @ web.dev
I was Interviewed by Rachel Andrew for the web.dev Designcember (and finally got around to posting a link here)
Developing the Future of the Internet @ Wix, Now What?
Miriam talks to Now What? about why the internet looks the way it does, why designers and developers need to collaborate and how the future of the web must be built around inclusivity and respect.
Styling the Intrinsic Web @ An Event Apart Fall Summit | Online
What’s the job of a “design engineer”? @ Pencil & Paper
We discuss the role of the ‘design engineer’ and what it means for workflows, collab with their product team, and the end-user experience.
Styling the Intrinsic Web @ TPAC 6-Minute Summary | Online
A monkey hitting keys at random for an infinite amount of time will eventually want some help writing Hamlet (or whatever). You’re the monkey. We’re here to help.
What’s Happening in CSS & Sass @ Front End Nerdery
A podcast focusing on front end development but also covering a wide range of web development and design topics. We talked about CSS, Sass, and work being done in the W3C CSS Working Group.
CSS Cascade 6 (Scope) @ Editor’s Draft
Container Queries & The Future of CSS @ Smashing Meets CSSummer | Online
New CSS proposals like Container Queries, Cascade Layers, Scoped Styles, and Nesting are all aimed at improving the way we write responsive components and design systems.
Container Queries & The Future of CSS @ CSS Café | Online
Web Ecosystem Health Part VI @ Igalia Chats
Igalia’s Brian Kardell sits down to chat with Miriam and Rachel Andrew about who works on standards, and who pays for that work.
CSS Container Queries, Layers, Scoping and More @ Syntax.fm
In this episode of Syntax, Scott and Wes talk with Miriam about all things CSS – container queries, layers, scoping, and more!
CSS State Toggles [WIP] @ Unofficial Draft
Container Queries & The Future of CSS @ Front Range Front-End | Online
CSSWG, Container Queries, Scope, and Layers @ Word Wrap Show
I talk with Claire and Steph about my journey into webdev and onto the CSSWG, what I find frustrating about how others use CSS, and the three specs I’m working on.
Support (Not) Unknown @ OddBird.net
Working on a new CSS feature like Container Queries, one of the most important considerations is to ensure a “migration path” – a way for developers to start integrating the new code, without breaking their sites on legacy browsers.
Container Queries & the CSSWG @ The F-Word
I chat with Bruce Lawson & Vadim Makeev about Sass & Susy, CSS Layers & compatibility, Container Queries, and the CSS Working Group.
Container Queries & The Future of CSS @ Front-end Development South Africa | Online
What Is The Future Of CSS? @ Smashing Magazine
Starting a new season of the Smashing Podcast with a look at the future of CSS. What new specs will be landing in browsers soon? Drew McLellan talks to Miriam to find out.
Media-queries allow an author to make style changes based on the overall viewport dimensions – but in many cases, authors would prefer styling modular components based on their context within a layout.
Container Queries & The Future of CSS @ Web Directions, Hover | Online
Beyond CSS Variables @ An Event Apart Spring Summit | Online
CSS Custom Properties (aka Cascading Variables) have gained broad browser support since 2015 – but what are they good for, and why do we need them?
CSS Containment 3 (Container Queries) @ Editor’s Draft
CSS Cascade 5 (Layers) @ Working Draft
CSS Cascade 5 (Layers) @ Explainer
CSS Containment 3 (Container Queries) @ Proposal & Explainer
CSS Cascade 6 (Scope) @ Proposal & Explainer
Very Extremely Practical CSS Art @ CSS Tricks
“What is one thing you learned about building websites this year?”
CSS, Sass, and Playwriting @ Enjoy The Vue
I join Ari, Ben, and Tessa to talk about getting into CSS from other languages, the absurdly massive problem CSS is designed to solve, and the mental model behind the language.
Open CSS Notebook @ css.oddbird.net
As I spend more of my time working on the CSS language, I wanted a place to take notes and explore new ideas in the open.
CSS Containment 3 (Container Queries) @ Public Notes
CSS Cascade 5 (Layers) @ Public Notes
CSS Cascade 6 (Scope) @ Public Notes
Dissecting CSS Conventions @ An Event Apart Fall Summit | Online
How do we write code that is modular & maintainable, in a language designed to be systematic & contextual?
When Variables Cascade @ SmashingConf Austin/NY | Online
The Cascade makes CSS unique – forcing us to revisit even the most common programming feature: the variable.
CSS Cascade 5 (Layers) @ Editor’s Draft
CSS is Rad @ Design 4 Drupal Webinar Series | Online
The web is designed to work across platforms, devices, languages, and interfaces – but how can we possibly design for that unknown and always-changing canvas?
CSS is Rad @ SmashingConf Live | Online
Design Engineering Handbook @ inVision
Learn how design engineering brings together form and function.
Dynamic CSS @ Shift Remote | Online
Don’t let the declarative syntax fool you – CSS is a powerful and dynamic programming language.
Cascade Aligned Programming @ Front Range Front End | Online
From the very start, “web design” has posed a nearly impossible paradox.
Custom Property “Stacks" @ CSS Tricks
CSS Custom Properties allow us to manage and control both cascade and inheritance in new ways.
Resilient Web Systems @ Smashing Workshops | Online
From building beautiful sites to maintaining complex design systems across multiple applications, CSS is the web-language of design.
Design Systems AMA @ Jina Anne
Jina and I answer questions about CSS, Sass, Design Systems, and more!
Authoring the future of CSS @ Party Corgi
A spinoff of the Party Corgi Network discord. I chat with Chris Biscardi about The CSS Working Group, open-source projects, art, and music.
Embracing the Universal Web @ CSS Tricks
“What about building websites has you interested this year?”
Selector Support Queries @ Mozilla Developer
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 | Denver, CO
Overflow-Wrap in CSS @ Mozilla Developer
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.
Why waste your time on half-measures? Make your site THE MOST NORMALEST with this ULTIMATE CSS RESET.
Scroll Snap in CSS @ Mozilla Developer
CSS Cascade 5 (Layers) @ Initial Proposal
On Sass & CSS @ Shop Talk Show
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.
Inner & Outer Values of the Display Property @ Mozilla Developer
display property has been in CSS from the beginning,
handling everything from
list-items and full layout systems like
display syntax is getting an upgrade
to match it’s multiple uses.
Why isn’t this CSS doing anything? @ Mozilla Developer
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
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.
CSS is Rad @ Smashing Conf NY | New York, NY
Subgrid for Better Card Layouts @ Mozilla Developer
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.
Faster Layouts with CSS Grid @ Mozilla Developer
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
I’ve often used
unset in my CSS –
global keywords that can be applied to any property.
The difference is small, but important:
unset allows inheritance,
initial does not.
But then Firefox implemented
revert and I was confused –
how is this one different from the others?!
Introducing Sass Modules @ CSS Tricks
Sass recently launched a new module system.
The new syntax will replace
a big step forward for making Sass partials
more readable, performant, and safe.
Why is CSS so Weird? @ Mozilla Developer
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
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 | Atlanta, GA
A project-manager’s reflections on human-centered problem-solving, client communication, and user feedback in agile web development.
In the CSS naming-convention arms race to lowest specificity,
I’ve decided to only use universal
I call it F*CSS.
Dynamic CSS @ Develop Denver | Denver, CO
Agile Design Systems @ Agile Alliance | 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
We start by talking about design systems and design tooling – how they differ, and the problems they solve.
CSS Custom Properties @ Smashing Magazine
Pushing past the “variable” metaphor, CSS Custom Properties can provide new ways to balance context and isolation in our patterns and components.
User Unfriendly @ Design 4 Drupal [keynote] | Boston, MA
User Unfriendly @ Open Source Conference | Denver, CO
Advanced CSS & Sass @ Generate New York | San Francisco, CA
Dynamic CSS @ Generate New York | San Francisco, CA
Has CSS finally come of age? @ Creative Bloq
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 | San Francisco, CA
Dynamic CSS @ Smashing Conf | San Francisco, CA
Dynamic CSS @ VueConf US | Tampa, FL
On Dynamic CSS @ Thunder Nerds
Thunder Nerds interview me before her talk at VueConf US 2019.
User Unfriendly @ Agile Denver | Denver, CO
Don’t Use My Grid System @ Covalence Conf | San Francisco, CA
Fonts & more @ Views on Vue
The panel and the guest talk about grid systems, fonts, and more!
Dynamic CSS @ Front Range Front-End | Denver, CO
Agile Design Systems @ Agile Denver | Denver, CO
Dynamic CSS @ Full Stack Fest | Barcelona, Spain
Ethics, ES6 in Practice, and Dynamic CSS @ TalkScript
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 | Carlsbad, CA
Dynamic CSS @ CSSConf Argentina | Buenos Aires, Argentina
Planning Your Web Project @ Boost Biz Ed | Westminster, CO
A non-technical guide for taking your project from concept to launch, without ever losing sight of the goals.
Don’t Use My Grid System @ Beyond Tellerand | Düsseldorf, Germany
User Unfriendly @ AIGA Colorado | Denver, CO
User Unfriendly @ Creative Connections | Denver, CO
User Unfriendly @ Metro State Mobile Prototyping | Denver, CO
Agile Design Systems @ Front-End Front Range | Denver, CO
Agile Design Systems @ VueConf US | New Orleans, LA
Agile Design Systems @ Tech Confluence | Denver, CO
18 designers predict UI/UX trends for 2018 @ Figma Design
Planning Your Web Project @ EdTech Colorado | Denver, CO
Don’t Use My Grid System @ Clarity | San Francisco, CA
Don’t Use My Grid System @ CSS Dev Conf | New Orleans, LA
Code Patterns @ Refresh Denver | Denver, CO
Practical Layouts, Past & Future @ Women Who Code Fort Collins | Fort Collins, CO
Don’t Use My Grid System @ DjangoCon US | Spokane, WA
More CSS Charts, with Grid & Custom Properties @ CSS Tricks
Inspired by Robin Rendle, I demonstrate some of my early experiments combining CSS Grids and custom properties to create dynamic layouts and data-visualizations.
Practical Layouts, Past & Future @ Develop Denver | Denver, CO
Practical Layouts, Past & Future @ Refresh Denver | Denver, CO
Fun with Viewport Units @ CSS Tricks
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 | Denver, CO
Getting Started with CSS Grid @ CSS Tricks
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 Control @ UVA Scholars’ Lab | Charlottesville, VA
Some Kind of Resistance Tour @ Open Grounds | 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…
Some Kind of Resistance Tour @ Women’s March | Washington, DC
Some Kind of Resistance Tour @ Small Rain | Fredrick, MD
Some Kind of Resistance Tour @ House Show | Silver Spring, MD
Some Kind of Resistance Tour @ House Show | Baltimore, MD
Some Kind of Resistance Tour @ Wooden Shoe Books | Philadelphia, PA
Some Kind of Resistance Tour @ in your ear | Washington, DC
Some Kind of Resistance Tour @ The Operating System | Brooklyn, NY
Code Patterns @ Gotham Sass | New York, NY
Code Patterns @ CSSDay.io | Chandler, AZ
Loops in CSS Preprocessors @ CSS Tricks
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
Miriam Suzanne creates experimental experiences with her band and her fellow developers.
An Interview with Miriam Suzanne @ CSS Tricks
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
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 | Boston, MA
Maps are a powerful data type in Sass – perfect for managing color and scale palettes, framework configuration, data storage, and more.
Sass Toolkits, Live Q&A @ SitePoint
Code Patterns @ CascadiaFest
Code Patterns @ CSS Summit
Code Patterns @ DublinCSS
Code Patterns @ Clarity | San Francisco, CA
Jump Start Sass @ SitePoint
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. Co-writen with my friend Kitty Giraudel.
Herman @ OddBird
Design systems streamline development, communication, and consistency – but often rely on dedicated teams and extended budgets.
User Unfriendly @ SassConf 2015 | Austin, TX
Sassy Toolkits @ Frontend Zurich | Zurich, Switzerland
a case-study in building and sharing open-source Sass
Sass Map Magic @ CSS Summit | Online
Sassy Toolkits @ WordCamp Denver | Denver, CO
Sass Map Magic @ Future Insights Live | Las Vegas, NV
Accoutrement @ OddBird
Design systems must be meaningful to both humans and machines Accoutrement provides Sass design-token management that improves readability and consistency, while encouraging automation.
Sass Map Magic @ SassConf 2014 | New York, NY
Sass Map Magic @ BlendConf | Charlotte, NC
Your Own Damn [Susy] System @ Bmore Sass | Baltimore, MD
an introduction to the Susy layout toolkit
Show Your Work & Share Your Toys @ Camp Sass | San Francisco, CA
Your Own Damn [Susy] System @ The Mixin | San Francisco, CA
Organizing Sass Partials @ NYCSass Meetup
Show Your Work & Share Your Toys @ SassConf 2013 | New York, NY
True @ OddBird
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.
Susy @ OddBird
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.