Skip to main

Sass

CSS with superpowers

Sass is the most mature, stable, and powerful professional grade CSS extension language in the world. After creating several of the most popular sass plugins, Miriam became a core contributor to the language.

More recently, the entire OddBird team contracted with Google to design and implement high-priority Sass features, and re-build the website with a new Sass playground.

Open Source Sponsors

Current Sponsors

A huge thank you to the individuals and organizations sponsoring OddBird’s open source work!

Blue-Footed Boobies

Open Collective Avatar for benface

Common Loons

Open Collective Avatar for ScheppOpen Collective Avatar for ThijsOpen Collective Avatar for Outline GbROpen Collective Avatar for Mat MarquisOpen Collective Avatar for Paul van BuurenOpen Collective Avatar for JohannesOpen Collective Avatar for William KillerudOpen Collective Avatar for Nikita DubkoOpen Collective Avatar for AnonymousOpen Collective Avatar for Eric PortisOpen Collective Avatar for Nicolas ChevobbeOpen Collective Avatar for Pascal DuezOpen Collective Avatar for Tyson GachOpen Collective Avatar for MayankOpen Collective Avatar for thanks.dev

Sponsor OddBird’s OSS Work

We love contributing back to the languages & tools that developers rely on, from CSS & Sass to browser polyfills and Python. Help us keep that work sustainable and focused on developer needs!

2024 Posts

  1. Sass logo in black
on top of bright oklch color gradient
    Link post type

    Sass Color Spaces & Wide Gamut Colors

    Inspect and manipulate the new CSS color formats in Sass!

    CSS has a range of new color functions that support wider color gamuts (like display-p3) and perceptually uniform color adjustments (like oklch). Sass now provides additional tools for working with these new color formats, and converting between them.

    see all Link posts
  2. see all Article posts
  3. A clear kitchen blender filled with chopped fruit and greens
    Article post type

    Can you un-mix a mixin?

    Rethinking the CSS mixin proposal after CSS Day

    The CSS Working Group has agreed to move forward with CSS-native mixins. But some recent mixin-like CSS tricks have an advantage that the official proposal doesn’t account for: they make it easy to remove a mixin after it’s already been mixed in.

    see all Article posts
  4. see all Podcast posts
  5. Stacks of a variety of cardboard and food boxes, some leaning precariously.
    Article post type

    Setting up Sass pkg: URLs

    A quick guide to using the new Node.js package importer

    Enabling pkg: URLs is quick and straightforward, and simplifies using packages from the node_modules folder.

    see all Article posts

2023

  1. see all Link posts
    A close up of the hands of a person handing a package
to another person.
    Link post type

    Sass Package Importer (Request for Comments)

    A new proposal for importing from NPM packages in Sass

    UI libraries like Vuetify and Bootstrap make it easy to extend their themes by providing Sass source files with their NPM packages. Now, Sass is requesting feedback on a simpler way to import those libraries into your Sass styles with e.g. @use "pkg:bootstrap".

2022

  1. Nested semicircles,
from innermost and slowest
to outermost and fastest-moving:
nature, culture,
governance, infrastructure,
commerce, fashion
    Article post type

    When Our Tools Hold Us Back

    What happens if the ‘pace layers’ get out of sync?

    “Ask not just: How well does it work? But also: How well does it fail? What happens when something goes wrong?” —Jeremy Keith

    see all Article posts
  2. Sass logo in black
on top of bright oklch color gradient
    Link post type

    Sass Color Spaces (Request for Comments)

    A new proposal for color management in Sass

    There’s been a lot of exciting work in the CSS color specifications lately, and since the new features are already starting to land in browsers, we’ve been preparing to add support in Sass as well. My proposal for that is published and ready for public feedback!

    see all Link posts

2021

  1. Miriam Suzanne speaking at a conference
    Podcast post type

    What’s Happening in CSS & Sass

    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.

    see all Podcast posts
  2. Word Wrap Show
    Podcast post type

    CSSWG, Container Queries, Scope, and Layers

    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.

    see all Podcast posts
  3. F-Word
    Podcast post type

    Container Queries & the CSSWG

    I chat with Bruce Lawson & Vadim Makeev about Sass & Susy, CSS Layers & compatibility, Container Queries, and the CSS Working Group.

    see all Podcast posts

2020

  1. Enjoy the Vue! (#44)
    Podcast post type

    CSS, Sass, and Playwriting

    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.

    see all Podcast posts
  2. see all Talks & Workshops
  3. see all Link posts
    Link post type

    Using Custom Property “Stacks” to Tame the Cascade

    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. Now, CSS Custom Properties allow us to manage and control both cascade and inheritance in new ways.

  4. Miriam talking with Jen Simmons and others
    Talk post type

    Resilient Web Systems

    A workshop with practical steps to take full advantage of the web

    Past
    • – Online

      Smashing Workshops

    see all Talks & Workshops
  5. Video post type

    Design Systems AMA

    Jina and I answer questions about CSS, Sass, Design Systems, and more!

    see all Video posts
  6. Rainbow corgi
    Podcast post type

    Authoring the future of CSS

    A spinoff of the Party Corgi Network discord. I chat with Chris Biscardi about The CSS Working Group, open-source projects, art, and music.

    see all Podcast posts

2019

  1. Shop Talk Show Podcast
    Podcast post type

    On Sass & CSS

    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.

    see all Podcast posts
  2. Link post type

    Introducing Sass Modules

    Sass recently launched a major new feature you might recognize from other languages: a module system. The new syntax will replace @import with @use and @forward – a big step forward for making Sass partials (one of the language’s most used features) more readable, performant, and safe. This article goes…

    see all Link posts
  3. Article post type

    Sass Modules, a Primer

    Getting started with @use and @forward

    Dart Sass (the primary Sass implementation) released version 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.

    see all Article posts
  4. text CSS is Awesome on background of sunset over water
    Talk post type

    Advanced CSS for Modern Applications

    A workshop with practical use-cases, tooling, and pitfalls

    Past
    • – San Francisco, CA

      Generate New York

    • – San Francisco, CA

      Smashing Conf

    see all Talks & Workshops

2018

  1. Views on Vue Podcast
    Podcast post type

    Fonts & more

    Miriam talks with the Views on Vue panel about design, tools, fonts, and more.

    see all Podcast posts
  2. Sample organized color swatches with hex and hsl values
    Article post type

    Herman Style Guides

    An agile approach to design systems on a budget

    Design systems streamline development, communication, and consistency – but often rely on dedicated teams and extended budgets. We wanted a tool to create and maintain living style guides & pattern libraries in an agile process, and on a budget. Herman helps keep our development flow simple, and our UX consistent…

    see all Article posts

2017

  1. Jump Start Sass, by Miriam Suzanne and Kitty Giraudel
    Link post type

    How to Write Beautiful Sass

    Excerpt from Jump Start Sass, chapter 11

    Clean, beautiful code should be a goal in every project. If other developers need to make a change, they should be able to read what is there and understand it. Readable code is the core of maintainability. This excerpt from Miriam’s book, Jump Start Sass will help get you started…

    see all Link posts
  2. Viewport size diagram
    Article post type

    Media Queries & Grid Settings

    Practical media helpers for Susy3

    Most grids change with the viewport – and Susy needs new settings at each breakpoint. Susy3 is designed without mixins for complete flexibility from project to project, but it can be useful to build additional tools and shortcuts as you go. Here are some snippets to help you get started…

    see all Article posts
  3. the text color(kevin bacon) on a pink background
    Talk post type

    Code Patterns for Pattern Making

    Past
    • – Denver, CO

      Refresh Denver

    • – Denver, CO

      Front Range Front End

    see all Talks & Workshops
  4. see all Article posts
    Flexible grid column layout
    Article post type

    Welcome to Susy3!

    Make grid systems your fallback plan

    We’re excited to introduce Susy 3.0, a major update to our popular grid-math calculator – now more focused and flexible than ever. Susy was designed to make layout math easy, without forcing you into generic patterns and ugly markup. But grid systems are on the way out, replaced by real CSS layout specs that live in the browser. With Susy3, we want to help make that a smooth transition.

  5. Narrow and wide spread column math
    Article post type

    Understanding ‘Spread’ in Susy3

    Susy 3.0 will be released in the next week, if all goes well, and there’s a lot to write about it. I wanted to start with a detailed overview of one core concept: spread.

    see all Article posts
  6. CSS-Tricks
    Link post type

    Fun with Viewport Units

    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.

    see all Link posts
  7. Old phone
    Article post type

    Making Function Calls Across Sass Versions

    You don’t need safe-get-function utilities

    The Sass 3.5 Release Candidate includes support for first-class functions. What are they, how do we use them, and what tools can we use to future-proof our Sass toolkits in advance?

    see all Article posts
  8. Style written on sketchbook page
    Article post type

    Generating Code Documentation for Polyglot Projects

    Code documentation is ideally written as close to the actual code as possible, but compiled into a comprehensive set of documentation that includes code from all languages in use. Here’s how we intend to do that.

    see all Article posts

2016

  1. Link post type

    Loops in CSS Preprocessors

    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.

    see all Link posts
  2. Miriam Suzanne on the director's chair
    Podcast post type

    Versioning Show Ep.8

    I joined Tim Evko and M. David Green for their SitePoint podcast – The Versioning Show. We discussed going from lurker to speaker, the importance of writing about what you’re learning, stumbling into fame, approaching new projects, and unit testing in Sass.

    see all Podcast posts
  3. Miriam Suzanne answers questions on SitePoint
    Link post type

    Sass Toolkits, Live Q&A

    I did a live Q&A at SitePoint in August, talking about: Customizing Susy for your projects Other ways to do layouts (and why you might not even need a toolkit) How to select a toolkit, or build your very own!

    see all Link posts
  4. Miriam being interviewed at a conference
    Talk post type

    Sass Map Magic

    Past
    • – Boston, MA

      CSSConf 2016

    • – Online

      CSS Summit

    see all Talks & Workshops
  5. Miriam Suzanne answers questions on SitePoint
    Link post type

    Sass Toolkits, Live Q&A

    I did a live Q&A at SitePoint talking about: Customizing Susy for your projects Other ways to do layouts (and why you might not even need a toolkit) How to select a toolkit, or build your very own!

    see all Link posts
  6. see all Article posts
    Jump Start Sass, by Miriam Suzanne and Kitty Giraudel
    Article post type

    Jump Start Sass

    Get up to speed with Sass in a weekend…

    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.

  7. Jump Start Sass, by Miriam Suzanne and Kitty Giraudel
    Link post type

    Sass Architecture

    Excerpt from Jump Start Sass, chapter 11

    I’m excited to release Jump Start Sass, a book I co-authored with Kitty Giraudel. Digital copies are available from SitePoint, with print editions sold by O’Reilly. Here’s an excerpt from Chapter 11, Sass Architecture.

    see all Link posts

2015

  1. see all Talks & Workshops
    Tools should fit you. Sorry, this hammer only builds patio chairs...
    Talk post type

    Sassy Toolkits

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

    Past
    • – Zurich, Switzerland

      Frontend Zurich

    • – Denver, CO

      WordCamp Denver

2014

  1. see all Article posts
    Article post type

    SassConf 2014

    SassConf is right around the corner, and Claudina has been working hard to make it happen!

2013

  1. see all Talks & Workshops
  2. Article post type

    Map-Set vs. Map-Merge

    The difference between map-set and map-merge? Almost nothing.

    see all Article posts

2012

  1. see all Article posts
    Article post type

    Sass Striped Backgrounds

    Jina asked twitter for Sass advice the other day. She was working on a bit of code to create a rainbow-striped background gradient using any set of arbitrary colors. This is my solution, in the form of a Sass function. This requires Sass 3.2 in order to run.