Learn to build resilient cross-platform sites without waiting for universal feature support.
Miriam leads the OddBird process, working with clients and users to set priorities and find solutions to their unique problems. She is a user-experience expert, and a pioneer of modern CSS techniques – member of the Sass core team, and creator of the popular Susy and True libraries. Miriam is a teacher and open-web advocate for Mozilla Developer, staff writer for CSS Tricks, co-author of SitePoint’s Jump Start Sass, and internationally known conference speaker, winning “Best of” CSS Dev Conf in 2017. She is also a multimedia artist with extensive experience in theatre, writing, music, and visual art.
Open Source Contributions
CSS Tricks: Introducing Sass Modules
Sass recently launched a major new feature
you might recognize from other languages:
a module system.
The new syntax will replace
a big step forward for making Sass partials
(one of the language’s most used features)
more readable, performant, and safe.
This article goes into detail,
but you can also read our
“Sass Modules, a Primer” article
for the quick introduction.
What does revert do in CSS?
And how is it different from
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?!
Why is CSS so Weird?
How can we design for an unknown & infinite canvas?
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?
Sass Modules, a Primer
Getting started with
Dart Sass (the primary Sass implementation)
1.23.0 last night
with a major new feature: modules.
This is a common feature in many languages –
but for those of us who primarily write CSS,
it can be a big mental shift.
Let’s take a look at the basics.
Mozilla Developer Videos, Articles, & Tools
a gift from Mozilla (and OddBird)
Over the summer, we’ve been working with Mozilla to help create a new resource for web professionals like us – with a mix of videos, articles, demos, and open source tools. Today, we’re excited to launch the video channel!
Views on Vue: Design Systems & CSS
The panel discusses Miriam’s VueConf talk “Dynamic CSS with Vue”. Miriam explains what her vue applications look like and shares advice for organizing CSS in Vue.
Smashing Magazine: CSS Custom Properties in the Cascade
Miriam takes a deeper dive into the CSS Custom Properties for Cascading Variables specification to ask, “Why are they called custom properties, how do they work in the cascade, and what else can we do with them?” Pushing past the “variable” metaphor, custom properties can provide new ways to balance context and isolation in CSS patterns and components.
Smashing CSS Follow-Up Q & A
I had the pleasure of presenting both a talk and workshop at Smashing Conf in San Francisco this year. During the talk, people left questions in a collaborative doc, so I’m here to provide the answers!
Creative Bloq: Has CSS Finally Come of Age?
Steve Jenkins interviews Miriam about the state of CSS, and what’s coming next for the language – from Intrinsic Design to Dynamic CSS.
VueFinder at VueConf, 2019
Talk: Dynamic CSS with Vue
Take full advantage of the universal web, and reduce maintenance over the long term with resilient HTML, CSS, and JS systems. OddBird provides custom consulting and in-depth trainings on front-end architecture and workflow – from advanced HTML/CSS to integrated design systems, component libraries, testing, and documentation.
Contact us for 1-3 day workshops with Miriam Suzanne, or custom web app creation with our team of Python, UX, and front-end experts.Schedule a call with Miriam