
The CSS Podcast
Cascading Style Sheets (CSS) is the web's core styling language. For web developers, It's one of the quickest technologies to get started with, but one of the hardest to master. Follow Una Kravets and Bramus Van Damme, Developer Advocates from Google, who gleefully breakdown complex aspects of CSS into digestible episodes covering everything from accessibility to z-index.
Episodes
100: Season 6 wrap up
Una and Bramus recap the season! They share some new updates and re-visit some of their favorite tips and tricks.Season 6 covered inline if() statements and custom functions, scroll state queries, carousel APIs, view transitions updates, anchor positioning, command invokers and interest invokers, customizable select, and a whole bunch of other CSS functions! Resources: Same-document view transit
99: More CSS functions
In this episode of The CSS Podcast, Una and Bramus cover a bunch of CSS functions from comparison functions to tree counting functions, the random function, and more. Resources: min(), max(), and clamp() Web Dev article → https://goo.gle/4nvMthu Article by Ahmad Shadeed → https://goo.gle/3JvPznI Comparison functions → https://goo.gle/3JmbJsx sibling-count() and sibling-index() → https://goo.gle
98: Customizable select
In this episode of The CSS Podcast, Una and Bramus cover building customizable select menus. Have you ever had to build a dropdown menu where you want to do something as simple as change the color, or add little flag icons? You know how hard it can be! Discover how the web platform is solving this once and for all with the new customizable select API. Resources: Customizable select demos → https:/
97: Invokers and commands
In this episode of The CSS Podcast, we're diving into the power of invoker commands! Discover how the command and commandfor attributes allow you to declaratively open dialogs and show popovers. We'll explore standard commands and then jump into creating your own custom commands for more complex interactions. To close off, we're covering the concept of "interest invokers" and how the new CSS prope
96: CSS anchor positioning
Welcome back to The CSS Podcast! Una and Bramus dive into CSS anchor positioning, a powerful new API that revolutionizes how developers handle dynamic UI element placement. Learn how to create interactive tooltips, popovers, and menus directly in CSS, eliminating the need for complex JavaScript. Resources: CSS anchor positioning → https://goo.gle/3KvYYeZ Anchor position tool → https://goo.gle/4
95: Updates to View Transitions
View Transitions have been around for a little while. This episode of The CSS Podcast covers some of the recent additions and changes since we last covered this in episode 89. Resources: What's new in view transitions (2025 update) → https://goo.gle/47k7RAb Same-document view transitions have become Baseline Newly available → https://goo.gle/4otGpqx Learn View Transitions → https://goo.g
94: CSS carousels (and scroll)
Welcome back to The CSS Podcast! We're diving into a series of powerful scroll APIs that enable you to build custom, interactive carousels entirely with CSS, eliminating the need for JavaScript. These APIs, which also power customizable select elements, unlock even more innovative scroll-based experiences Resources: Carousels with CSS → https://goo.gle/46PES79 ::scroll-marker → https://goo.
93: State queries in 2025
Una and Bramus dive into the latest advancements in CSS with state-based container queries. Learn how to create responsive and dynamic user experiences by querying the scroll state of UI elements, including 'stuck,' 'snapped,' and 'scrollable' states. Discover practical examples and techniques to replace complex JavaScript with declarative CSS, making your web development more efficient and
92: CSS if() and custom functions
Welcome back to the new season of the CSS Podcast, where Una and Bramus are your guides, your cohosts, and your CSS best friends. In this episode we dig into two very powerful new CSS features: inline conditionals with the if() function, and custom functions. Resources: CSS if() function specification → https://goo.gle/3IBChWo Article on if() by Una → https://goo.gle/4nUxIp2 Article on if() by L
091: Season 5 Wrap-up
Una and Adam recap the season! They share their favorite features, stories, and use cases. Season 5 covered popovers, dialogs, top layers, trig functions, color functions, :has() tricks, balanced text wrapping, linear() easing, nesting, anchoring, state queries, view transitions, and scroll driven animation. What a year for CSS! Una Kravets (co-host) Twitter | Instagram | YouTube Making the
090: Scroll-driven animations
In this episode our esteemed guest returns! This time to help us grok Scroll Driven Animation. Learn all about scroll(), view(), animation-timeline, timeline-scope, animation-range, and more. Power those animations with off-the-main-thread CSS scroll animation powers. Resources: Bramus's Demos: All mentioned Demos + Tools + Video Course + DevTools Extension link → https://goo.gle/3Uw31up Video
089: View transitions
In this episode Una and Adam bring on an esteemed guest Bramus, who brings us deep knowledge on View Transitions. These are easy to get started with but difficult to master, but not with Bramus here to teach us. He'll be covering introductory to advanced API features and a big bag of examples and demos. Resources: Developer Documentation → https://goo.gle/4aHY7zo Quick intro to View Transitions
088: State queries
In this episode, Una and Adam discuss a future web capability that builds on container queries: state queries. From CSS, this feature will be able to detect if a container is overflowing, when an element is scroll snapped, and when an element is stuck from position: sticky. Resources: :stuck, :snapped, :on-screen, etc → https://goo.gle/3WVhSi6 state queries syntax → https://goo.gle/3T2gI33 exp
087: Anchor positioning
In this episode Una and Adam explain anchor positioning and all its amazing features. Resources: Introducing the CSS anchor positioning API → https://goo.gle/3SWrvM5 CSS anchor positioning → https://goo.gle/4dwgmd9 Tab's talk from CSS Day → https://goo.gle/4ds8g5B Una's Anchor Tool → https://goo.gle/3yDYDSd Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorf
086: Nesting 2024+
In this episode Una and Adam catch you up to the latest syntax features of CSS nesting. Resources: Episode 47 → https://goo.gle/3SvM9T4 Episode 65 → https://goo.gle/3ygA7X1 CSS Nesting Update → https://goo.gle/3WHCRpK Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬 Adam Argy
085: Linear easing function fun
In this episode Una and Adam cover the linear() CSS easing function that can create bounce and spring effects. Resources: Ep 22 on Animation → https://goo.gle/4frnp8y linear() generator → https://goo.gle/46xs2JZ Complex animation curves in CSS with linear() → https://goo.gle/4ftm0Oz Open Props premade spring and bounce variables → https://goo.gle/46uaGOc Una Kravets (co-host) Twitter | Inst
084: Text Wrap
In this episode Una and Adam talk about text wrap, a great modern improvement to typography on the web platform. Learn how you can create logical layout rules for your headings and other copy with just one line of code. Resources: text-wrap on MDN → https://goo.gle/3zvwixd soft breaks → https://goo.gle/4cXKLAq Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨
083: :has() tips and tricks
In this episode Una and Adam expand on episode 61 about :has() by focusing specifically on use cases, tips and tricks. Get inspired and discover new ways to make reactive UI from CSS. Resources: Ep 61 → https://goo.gle/4cID6pE Piccali → https://goo.gle/4ePKJMG Ahmad Shadeed → https://goo.gle/4bsk85F The Looper → https://goo.gle/3yKmXkI Una Kravets (co-host) Twitter | Instagram | YouTube Makin
082: What's new in color & color functions
In this episode Una and Adam provide a color update, covering changes to the specs and new functions. Links RCS calc() tool → https://goo.gle/4cRRJHt Apple Annie CSS Color Modules and Changes, Part I → https://goo.gle/3xtTr2A Lea verou article on RCS for contrast → https://goo.gle/3L3x5YF Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechro
081: Trigonometric Functions
In this episode Una and Adam share practical use cases, syntax and strategies for all the new math functions in CSS. From trig to algebra, they'll help you get a good idea on where and how these fit into your UI toolbelt. Links Ana Tudor tests your browser for CSS math function support → https://goo.gle/4cmBm5r Great guide and overview from Daniel Wilson → https://goo.gle/4enKgBe layout pow() →
80: Animating to and from top-layer
In this episode Una and Adam continue talking about dialogs and popovers, but this time it's all about animating them into and out of the top layer.. We'll be introducing starting-style, a new mode for transitioning discrete properties, and the overlay property for smooth entry and exit animations. Links: top-layer CSS spec → https://goo.gle/4c2elUW Four new CSS features for smooth entry and exit
79: Popover and Dialog
The CSS Podcast is back, with an episode highlighting the popover API and dialog element! Learn what they can do, and when to use which when. Links Popover API lands in Baseline → https://goo.gle/3Vo2dIs Dialogs and popovers seem similar. How are they different? → https://goo.gle/3wXD1z5 Dialog dilemmas and modal mischief → https://goo.gle/3R9nmDE Semantics and the popover attribute → https://goo.
78: Season 4 wrap!
I can't believe we're already at the end of season 4! This season, we've been focusing on CSS gotchas and resolving these common CSS pitfalls. And alas, on our last episode of the season, we're going to take a look back at all of those tips and tricks and pick some of our favorites to highlight in this recap episode. Links: Why isn't percentage working → https://goo.gle/418EnBG Why isn't my ele
77: Why isn't percentage working here?
In this episode, Una and Adam talk about percentage resolution for various properties like font-size, padding height and width. They break down and explain why percentages may not work or may not be what you expected. Links → https://goo.gle/47XtWU1 Understanding CSS Percentage → https://goo.gle/3RhLJzG CSS Box Sizing Module Level 3 → https://goo.gle/46FRF9T Una Kravets (co-host) Twitter |
76: Why isn't my element stuck where I wanted it to stick?
In this episode Una and Adam help you uncover moments where a sticky element isn't sticking. There are a couple of gotcha around implementing a sticky element and by the end of the show you'll know what they are and a few ways to work around them. Links: sticky stack - https://goo.gle/3QICxTz sticky desperado - https://goo.gle/3sC3OPj sticky slide - https://goo.gle/47bcRGb Una Kravets (co-
75: Why isn't my custom property the value I expect?
In this episode, Una and Adam discuss common gotchas with custom properties, which often feel fully reactive during use, but their limits and implementation details can popup at unexpected times and create a headache. They'll cover these situations and their solutions! Links: Value stages → https://goo.gle/3FDo7yA How custom property values are computed →https://goo.gle/49cOUiQ A complete guid
74: How do I center a div?
In this episode we tackle one of the most asked questions of all CSS history.. how do I center this div? We'll cover multiple strategies that each have tradeoffs and super powers over each other. Links: Centering in CSS → https://goo.gle/3RRki02 Comparing grid and flex place-items and place-content → https://goo.gle/3ZE3NGM Centering in CSS: A Complete Guide → https://goo.gle/46xudw7 Centeri
73: Why is my animation glitching?
On this episode of the #CSSpodcast, we're diving into how to deal with glitchy animations in your code base! Links: MDN transform-style - https://goo.gle/45YFu8B MDN backface-visibility - https://goo.gle/46mPvfE Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬 Adam Argy
72: Why does my gradient have muddy colors in the middle?
In this episode, we tackle the issues around getting undesirable gradient results. Sometimes it's you, sometimes it's the color space. We'll help you identify, assess and remedy muddy gradients. Links: HD color guide - https://goo.gle/3RhyvmP various gradients in color spaces - https://goo.gle/3Pc02TV modern css gradient tool - https://goo.gle/3P4KxNI try color mix - https://goo.gle/3r2toML
71: Why do I have layout shift?
In this episode we're shifting the topic to layout shift, that moment where you watch the page adapt to something lazily loaded which has impacted the layout in some way where you see content shift around. Links: CLS - https://goo.gle/3kle3AW Optimizing CLS - https://goo.gle/3fxu6IE CSS for Web Vitals - https://goo.gle/3E98gY9 Una Kravets (co-host) Twitter | Instagram | YouTube Making the w
70: Why is my image distorted?
Too small? Too big? Learn how to make your images just right and all the reasons they might be looking a little funky when you're adding media to your interface. Links: CSS for Web Vitals → https://goo.gle/3E98gY9 Learn Responsive Images → https://goo.gle/45EFuds Aspect Ratio → https://goo.gle/3PdyjDS Demos → https://goo.gle/3qJuQ6z & https://goo.gle/45uDvZB Una Kravets (co-host) Twitter
69: Why is it overflowing?
In this episode we're overjoyed to overexplain why you may be having overflow in your page. somewhere over the rainbow, an overheating developer overcooked the inline sizes and ended up oversleeping for work the next day. Now let's overanalyze and overshare about CSS overflow. Links: The rules of Margin Collapse → https://goo.gle/441OGaH Everything you need to know → https://goo.gle/4434Ctj C
68: Why isn't the margin applying?
In this episode we explore why margin may not be working for you. We'll teach you about block formatting contexts and margin collapsing! We'll make you the space you want in your designs! Links: The Rules of Margin Collapse → https://goo.gle/441OGaH CSS Margins → https://goo.gle/4434Ctj Learn more → https://goo.gle/3YrJDiw Una Kravets (co-host) Twitter | Instagram | YouTube Making the web mor
67: Why isn't z-index working?
In this episode we explore why z-index isn't working for you. We'll teach you about stacking context and how to make sure you've set yourself up for layering success! Join us on this journey through positioning, variable architecture, tools, and more, to bring those elements to light. Links: Stacking context → https://goo.gle/43It8jl Una Kravets (co-host) Twitter | Instagram | YouTube Making the
66: Season 3 recap & what's next!
Listen to Adam and Una recap all of the exciting landings they talked about in 2022 in this end-of-season recap. If you missed the others, don't miss this one! Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬 Adam Argyle (co-host) Twitter | Instagram | YouTube @GoogleChrome
65: Nesting
In this episode Una and Adam talk about CSS Nesting, per the current 2022 spec draft. They'll cover the syntax basics, some gotchas and of course a bunch of examples. Links Nesting 1 Spec - https://goo.gle/3VgnoJR Adam exploring the prototype implementation in Canary - https://goo.gle/3UGsMpv @scope and @layer and nesting - https://goo.gle/3EyJ3Hq Una Kravets (co-host) Twitter | Instagram
64: Subgrid
In this episode Una and Adam discuss subgrid, a special value for grid-template-rows or grid-template-columns. Learn the general details of usage, use cases, tips, tricks and gotchas, so you can use the feature with confidence. Links CSS Grid Spec - https://goo.gle/3EfjoDq MDN - https://goo.gle/3tbooTx Smashing Magazine - https://goo.gle/3DUb7Ds Ahmad Shadeed on Subgrid - https://goo.gle/3EeS
63: Media query range syntax
Media query range syntax is a really nice addition. Links Polyfill: https://goo.gle/3TXcyYD New syntax for range media queries: https://goo.gle/3DQlHg0 Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬 Adam Argyle (co-host) Twitter | Instagram | YouTube @GoogleChrom
62: Color functions: An update
In this episode Una and Adam cover changes to the color level 5 and new color level 6 specs, so you can stay HD on the topic. Plus, a dive into CSS color functions for manipulating colors. Links CSS Color Module Level 5 → https://goo.gle/3f8BgpT CSS Color Module Level 6 → https://goo.gle/3TIsPAI Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @g
61 :has()
:has() is a new CSS selector which allows developers to query for the presence of a child or state. It has been called the "parent selector", but it's much more than that! Using :has() you can style up and down a DOM tree, making this an incredible powerful feature. Learn how to take advantage of this new API with lots of examples in this episode. Links Blog → https://goo.gle/3CIs1EF Selectors →
60: Inert
In this episode Una and Adam explain a non-CSS property, but very relevant front-end UI property, called inert. It's a way to have a visually guarded part of the UI also be guarded for keyboard and screen reader users. Links Inert spec - https://goo.gle/3SXid0C MDN - https://goo.gle/3rK1Ybd Chrome Developers: Introducing Inert - https://goo.gle/3CLygZE Una Kravets (co-host) Twitter | Instagra
59: Container queries
Container queries (also known as @container) are a new entrypoint for truly component-based responsive design. In this episode, Adam and Una will walk you through how to use them, what browser support looks like, and upcoming features that will give you even more control over your responsive interfaces! Links CQ + :has() → https://goo.gle/3ymiwJS MDN Docs → https://goo.gle/3ogyIrp Una Kravets
58: Cascade layers
In this episode Una and Adam cover Cascade Layers (aka @layer). It's a way for authors to control and orchestrate their own CSS layering which can help avoid specificity and asynchronous loading issues. Instead of styles taking the most recent style based on order of appearance, orchestrate layers and place styles inside them to control which overrides which. Links MDN - https://goo.gle/3UjB6vL S
57: DevTools Mini Series - Interaction
DevTools Mini Series continues, this time on interactions. Una Kravets and Adam Argyle are joined by Jecelyn Yeen to discuss interaction, and interaction inspection/ debugging in DevTools. Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬 Adam Argyle (co-host) Twitter | I
56: DevTools Mini Series - Accessibility
DevTools Mini Series continues, this time on accessibility tooling. Una Kravets and Adam Argyle are joined by Jecelyn Yeen to discuss how DevTools can help you discover and fix accessibility issues. Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬 Adam Argyle (co-host) Tw
55: DevTools Mini Series - Layout
DevTools Mini Series continues, this time on layout. Una Kravets and Adam Argyle are joined by Jecelyn Yeen to discuss an overview of how DevTools can help you create and debug layouts. Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬 Adam Argyle (co-host) Twitter | Insta
54: DevTools Mini Series - Color
Welcome to the DevTools Mini Series for The CSS Podcast. On this episode, Una Kravets and Adam Argyle are joined by Jecelyn Yeen to discuss an overview of color and shared tips. Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬 Adam Argyle (co-host) Twitter | Instagram | Y
53: Season 2 wrap up
We've reached the end of season 2 of the CSS Podcast. In this closing episode, we recap every episode by sharing our favorite tips and learnings from the last few months! Episodes reminisced E30 → Lists E31 → @rules E32 → Page Media Queries E33 → Preference Media Queries E34 → Overflow E35 → Background E36 → Text & Typography E37 → Cursors & Pointers E38 → N-Match Notation E39 → Paths, Shapes, Cl
52: counters and @counter-style
Count on The CSS Podcast to cover counters. Una and Adam teach all the ways to create, reset, and update counters. Use them for lists, games and more! Links Counters Level 3 → https://goo.gle/3f2BP18 Pure CSS Games Collection → https://goo.gle/3l0wrQe Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday
51: Styling SVG in CSS
CSS and SVG are very intertwined, and you can create a lot of unique effects by combining the two. This episode dives into a few CSS + SVG tips and tricks, including where and how to use SVG on your page, icon systems, color theming, adding animations, filter effects, and more! Links Solved with CSS: Colorizing SVG → https://goo.gle/3x0Uilb SVGOMG → https://goo.gle/3hS6ksJ SVG spec → https://g
50: inherit, initial, unset, and revert
This episode is about the very available CSS values inherit, initial, unset and revert. We'll help explain what they are, what they do and when to use them. Links CSS Tricks Article → https://goo.gle/2U5PxJw Quirksmode Article → https://goo.gle/2TY80rz Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday
49: Accessibility
Today we are breaking down accessibility related styling choices to ensure a better user experience for all of your users. These include focus visibility, keyboard navigation, and more! Links #lintHTMLwithCSS - https://goo.gle/3dSMIlU CSS Speech Level 1 - https://goo.gle/3xrg3vc Media Queries Level 5 - https://goo.gle/3qUcBXz Una Kravets (co-host) Twitter | Instagram | YouTube Making the web
48: Touch interaction
Today we touch on touch interaction. Covering CSS's ability to change a user's touch experience with properties like touch-action, scroll-behavior, user-select and more. Links MDN - https://goo.gle/3y8My14 Spec - https://goo.gle/3dm4opF Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in
47: :is(), :where(), & nesting
In this episode, Adam and Una explore some CSS syntactic sugar! They discuss the :is and :where functions, how they differ, and how they're paving the way for nesting. Links Adam's post on web.dev → https://goo.gle/3qhYifl MDN :is() → https://goo.gle/3qgU0Vf Forgiving selector parsing → https://goo.gle/3xLTYHL Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorfu
46: Custom properties
Custom properties, aka CSS variables, are runtime dynamic variables which allow you to store loose or typed values. They're free, super fast, improve code legibility, unlock powers, are reachable with JavaScript, animateable, overall super fun and, well, kind of complex. Links Module Level 1 → https://goo.gle/3wtADL1 82% of developers get this 3 line CSS quiz wrong → https://goo.gle/2U8oTPR A
45: Scroll timeline
In this episode we deep dive the experimental Scroll Animations spec to bring you the breakdown on @scroll-timeline powered CSS animation. Learn about scroll-linked animations vs scroll-triggered animations and how to orchestrate scroll interactions with elements of the page. Links Scroll animations level 1 draft →https://goo.gle/3pvWX49 Polyfill → https://goo.gle/3x8CQvw GUI Challenges - Tab
44: Transitions
In this episode it's all about transitions. What you can and can't transition, it's limits, and it's super powers. We'll finish up with ways to trigger transitions and a few tips and tricks. Links CSS Transitions https://goo.gle/3vIDi31 Cont. https://goo.gle/3pcpueY Una Kravets (co-host) Twitter | Instagram | YouTube Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face hos
43: Containment
The CSS contain property can give you some serious performance gains by adjusting how and when the browser renders elements. In this episode, we go over all the different types of containment, and where you might use them. Links MDN doc on containment → https://goo.gle/3fRejEd Content-visibility → https://goo.gle/3wBMB52 Una Kravets (co-host) Twitter | Instagram | YouTube Making the web mor
42: Snap points
In this episode we're guiding scroll areas into their peaceful resting places, maintaining alignment, keeping visual harmony, and improving the overall experience with the content. Links Scroll Snap Level 1 draft → https://goo.gle/2R9hUow overscroll-behavior → https://goo.gle/3o7vLYE scroll-behavior → https://goo.gle/3uKvkWU Una Kravets (co-host) Twitter | Instagram | YouTube Making the we
41: Transforms
In this episode we enter the 3rd dimension with CSS, placing and manipulating objects in 3D space with the transform property. 2D and 3D transforms are spectacular ways to animate and create a sense of depth in a design, follow along for how it all works. Links CSS Transforms Module Level 1 → https://goo.gle/2RsETdW CSS Transforms Module Level 2 → https://goo.gle/3tdGeCF Chaining transforms →
40: @font-face
In this episode Una and Adam talk about font adjustments when being used within @font-face. When fonts are loaded, there's an opportunity to provide default values and fine tunings. Links @font-face on MDN → https://goo.gle/2S3DAmp CSS Fonts Level 4 → https://goo.gle/3sGwO2s The CSS Podcast #CSSpodcast
39: Paths, shapes, clipping and masking
Paths, shapes, clipping, masking, oh my! There's so much you can do with CSS shapes—from creating transition effects to creating interesting and organic typographic layouts. In this episode we dive in to how to wrangle shape effects in CSS. Shapes Level 1 → https://goo.gle/3gkJAkG Shapes Level 2 → https://goo.gle/3amJLIk Masking Level 1 → https://goo.gle/3nb6Bb5 Clippy tool → https://goo.gl
38: N-match Notation
Welcome back to The CSS Podcast, where we cover all things CSS from accessibility to c-index. Today, Una and Adam will discuss a micro syntax for pseudo class notification when working with nth-child. Selectors level 3 → https://goo.gle/3dWB48G Useful nth-child recipes → https://goo.gle/3e102DE Nth-child syntax → https://goo.gle/328nA4b Quantity queries → https://goo.gle/3a4NPwT Solved wit
37: Cursors and Pointers
What do mouse pointers, potatoes, and your fingers have in common? They can all interact with a screen! With CSS we can define how active our web boxes are, which areas are interactive, and what style the cursor should be. Maybe that means your mouse arrow becomes an animated magic wand, or maybe not. Get ready for a fun episode, where things get a bit goofy. LinksPointer events → https://goo.gle/
36: Text and Typography
In this episode we cover typography on the web from your CSS. From font properties to word breaking. Also, Adam gets thrown off and amazed at how dynamic the text underline property is and revels in the difference between small caps and petite caps. Links MDN Text Fundamentals → https://goo.gle/2O4Fh13Text Decoration 3 → https://goo.gle/3u7M2yK The CSS Podcast#CSSpodcast
35: Background
In this episode we cover all the ways to style an element's background: using images, colors, gradients and more. Links CSS backgrounds-3 → http://goo.gle/2P0DGJE CSS Tricks on backgrounds → http://goo.gle/2ODPCRY The CSS Podcast #CSSpodcast
34: Overflow
In today's episode we cover overscroll and all the ways to handle content that's bursting at the seams. The web has a natural tendency to show overflowing content, so let's study our options when it comes to wrangling those pesky misbehavers. LinksText-overflow → http://goo.gle/38uDGbXCSS Overflow Module → http://goo.gle/2N7KsNg The CSS Podcast#CSSpodcast
33: Preference Media
In this episode we narrow our focus on user-preference-based media queries, which enable you to create personalized experiences based on your users custom settings and needs. LinksMedia Queries 5 → https://goo.gle/306lZea The CSS Podcast#CSSpodcast
32: Page Media
In this episode we talk about page media queries and all the ways you can pivot your styles based on device capabilities, viewport size, etc. Links Media Queries → http://goo.gle/2MhYfR2 Scripting → http://goo.gle/2Mdan5E The 'display-mode' media feature → http://goo.gle/2NoFr3c Prefers-* Security and Privacy → http://goo.gle/3kfwUM0 CSS Color Adjustment → http://goo.gle/3qLkduJ The CSS Podca
31: @rules
In this episode we talk about CSS @rules and all the different customizations you can make to fonts, encoding, animations, Houdini, and more. LinksAt-rules → http://goo.gle/3uvvRwb CSS Conditional Rules Module → http://goo.gle/37Bgf02 @property → https://goo.gle/3upuMpB Media Queries → https://goo.gle/2Nl2VGp CSS Fonts → http://goo.gle/3dB2uSU The CSS Podcast#CSSpodcast
30: Lists
In this Season 2 kickoff episode we talk about lists; their bullets/markers, styleability and overall featureset. List-en closely 🤓 LinksCSS Lists and Counters Module → http://goo.gle/2LlRhtS Custom bullets with CSS → http://goo.gle/3rol0BL CSS Lists, Markers, And Counters→ http://goo.gle/3cHa5yPCSS Counter Grid → https://goo.gle/3awKJkp The CSS Podcast#CSSpodcast
29: Houdini Series: Layout
In this episode, we get a little more experimental as we continue the Houdini series and discuss the Layout Worklet, also sometimes referred to as the Houdini Layout API. The Layout API enables developers to write their own layout algorithms. For more about Houdini worklets, check out our last episode on the Paint Worklet for an overview → https://goo.gle/3mG6BPc Links The Layout API → https://goo
28: Houdini Series: Paint
In this episode, we continue the Houdini series and enter worklet land! We go over the Paint Worklet, an API that enables developers to define canvas-like custom painting functions that can be used directly in CSS as backgrounds, borders, masks, and more. Links CSS Paint API → https://goo.gle/39bWvBV MDN Docs on CSS Painting API → https://goo.gle/3m3e1M1 Worklet Reference → https://goo.gle/3980Equ
27: Houdini Series: Typed OM
In this episode we go over the TypedOM, a new API for parsing, converting, creating and managing CSS. It's typed, as the name suggests, and these typings not only help developers find bugs, they can make properties animateable natively in the engine. Links MDN Typed OM Reference → https://goo.gle/3n2FrC9 Spec → https://goo.gle/32fq94O caniuse attributeStyleMap → https://goo.gle/3leR0Fu caniuse c
26: Houdini Series: Properties & Values
In this episode we introduce Houdini! We start by talking about our hooks into the layout engine and CSS parser, so we can connect our custom functionality with some CSS authored by a designer or developer. These hooks are called Houdini Properties & Values. Links Properties and Values Spec → https://goo.gle/2HZ6Aad Value Definitions Spec → https://goo.gle/2HZCCTy Houdini @property → https://goo.g
25: Season 1 Wrap Up
In this closing episode, we do a whirlwind recap of our entire first season! We go over every episode, from the box model to z-index to animations and functions and color. Listen as we recount our favorite tips and tricks and discuss what we learned in the process of making this podcast.
24: Blend Modes
Today we are talking about CSS blend modes! Blend modes are super fun and allow you to specify how you want elements to interact in terms of their overlapping pixel values on the page. Links: mix-blend-mode → https://goo.gle/3m5L9mP Isolation: Cascading Style Sheets → https://goo.gle/2GIDjiX
23: Filters
In this episode, we're talking about CSS filters! We can alter the pixels of our web apps in similar ways to our favorite design tools. From recreating Instagram filter effects, to blurring background for better legibility, we dive deep into what CSS and filters can do. Links: Filter Effects Module Level 1 → https://goo.gle/34SPJ1D Backdrop Filter → https://goo.gle/3hJTMRz CSSGram → https://goo.
22: Animation
In this episode, we're talking about CSS animations. With CSS animations a developer creates a set of keyframes, and then uses a variety of animation properties to describe how the element moves through each of the possible keyframes. Links: Animations Level 1 Spec → https://goo.gle/2DhV0V2 Easing Level 1 Spec → https://goo.gle/3kWoWap Scroll-Linked Animations Draft Spec → https://goo.gle/39VQV
21: Gradients
In this episode gradients take the stage as we share syntax secrets, tips and tricks, and probably teach you about repeating-conic-gradient. By the end, you'll be savvy with color stops, transition hints, and all the ways to interpolate color in your design. Links: Spec Level 3 → https://goo.gle/3h8cRN7 Spec Draft Level 4 → https://goo.gle/3iPmDUE Lea's Pattern Gallery → https://goo.gle/3j4XEwX











