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 Adam Argyle, Developer Advocates from Google, who gleefully breakdown complex aspects of CSS into digestible episodes covering everything from accessibility to z-index.
The podcast The CSS Podcast is created by The CSS Podcast. The podcast and the artwork on this page are embedded on this page using the public podcast feed (RSS).
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 web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host) Twitter | Instagram | YouTube@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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 Course direct link: https://goo.gle/learn-scroll-driven-animations
Adam's Demos:
scroll() the hue wheel → https://goo.gle/4emb3NO
CSS scroll() feature time warp → https://goo.gle/4exH3yv
view() long bento list → https://goo.gle/4gtcCLx
view() scrolly telling → https://goo.gle/3TAq2vA
view() iOS-like app switcher → https://goo.gle/4etvCI6
view() variable font animation → https://goo.gle/4e8eJmd
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 CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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 (Google I/O 2023 video) → https://goo.gle/3ZieRLp
What's new in View Transitions? (Google I/O 2024 video) → https://goo.gle/3zeYNj3
Misconceptions about View Transitions → https://goo.gle/3Tpsu7O
Bramus's Demos: Collection of various demos, both SPA and MPA → https://goo.gle/3B4edY8
Accordion → https://goo.gle/3B4egDi
Adam's Demos: Grid gallery → https://goo.gle/4giz0XV
Always great grid → https://goo.gle/3MH68Lu
Flexbox visualizer → https://goo.gle/47kmJOB
Editable tabs → https://goo.gle/4ghNfMx
Dollar number input → https://goo.gle/4e0FsBf
Stateful morphing button → https://goo.gle/4ebBNR2
Drag and Drop → https://goo.gle/3XlP2Yn
Isotope recreation → https://goo.gle/4dVX5lN
Local development animated → https://goo.gle/3XHjm17
Una Kravets (co-host) Twitter → https://goo.gle/452aBRb YouTube → https://goo.gle/457oMnS Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face Host of Tools Today → https://goo.gle/4aI6JpC & Designing in the Browser 🎬 → https://goo.gle/4e4YTcM
Adam Argyle (co-host) Twitter → https://goo.gle/3yFnHYu Instagram → https://goo.gle/3wUb6QJ YouTube → https://goo.gle/4dZNKK7 @GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘 CSSWG → https://goo.gle/4bFErxq VisBug → https://goo.gle/4bDcVQZ
The CSS Podcast #CSSpodcast
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
explainer → https://goo.gle/3XevW7x
Intent To Prototype → https://goo.gle/3Au8rOY
Scroll Snap Events → https://goo.gle/47koXO1
Una Kravets (co-host) Twitter → https://goo.gle/452aBRb YouTube → https://goo.gle/457oMnS
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face Host of Tools Today → https://goo.gle/4aI6JpC & Designing in the Browser 🎬 → https://goo.gle/4e4YTcM
Adam Argyle (co-host) Twitter → https://goo.gle/3yFnHYu Instagram → https://goo.gle/3wUb6QJ YouTube → https://goo.gle/4dZNKK7
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘 CSSWG → https://goo.gle/4bFErxq VisBug → https://goo.gle/4bDcVQZ
The CSS Podcast
#CSSpodcast
Watch more The CSS Podcast → https://goo.gle/CSSpodcast
Subscribe to Chrome for Developers → https://goo.gle/ChromeDevs
#CSSPodcast #ChromeForDevelopers #Chrome
Speaker: Una Kravets, Adam Argyle
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 colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host) Twitter | Instagram | YouTube@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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 Argyle (co-host) Twitter | Instagram | YouTube@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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 | 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 CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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 ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host) Twitter | Instagram | YouTube@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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 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 CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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 @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host) Twitter | Instagram | YouTube@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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() → https://goo.gle/3RlvAsI
Using Absolute Value, Sign, Rounding and Modulo in CSS Today → https://goo.gle/4aY3OJz
Time based animation → https://goo.gle/3x6Dm2K
CSS type casting to numeric: tan(atan2()) scalars by Jane Ori → https://goo.gle/4bZyrj2
Open Props v2 type ramp prototype with pow() as taught by Dan Wilson in their post → https://goo.gle/45uqikj
CSS physics for transitions and keyframes with these math functions → https://goo.gle/3VltDgX 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 CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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 animations by Una → https://goo.gle/3KpyB7e Using @starting-style and transition-behavior for enter and exit stage effects → https://goo.gle/452FG7p Popover on MDN → https://goo.gle/453xfss :popover-open on MDN → https://goo.gle/3x5XLVl Dialog and popover animated → https://goo.gle/3Kn1Ck7 Popover animated with nesting → https://goo.gle/3wW3Qns What is the top layer? → https://goo.gle/457rUjQ overlay property on MDN → https://goo.gle/3yKNRsT MDN demos → https://goo.gle/4c2eIyO 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 CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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.gle/3Vl3NuM Building a dialog component GUI Challenges → https://goo.gle/4c0YFkK 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 CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
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 element stuck → https://goo.gle/3uSX7Jk
Why isn’t my custom property the value I expect → https://goo.gle/47BcZPj
How do I center a div → https://goo.gle/3RiOBLA
Why isn’t my animation glitching → https://goo.gle/4a5fzPh
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Subscribe to Chrome for Developers → https://goo.gle/ChromeDevs
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
Understanding CSS Percentage → https://goo.gle/3RhLJzG
CSS Box Sizing Module Level 3 → https://goo.gle/46FRF9T
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Subscribe to Chrome for Developers → https://goo.gle/ChromeDevs
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-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Subscribe to Chrome for Developers YouTube → https://goo.gle/ChromeDevs
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 guide to custom properties → https://goo.gle/40gtVb8
The big gotcha with custom properties → https://goo.gle/45VwUHe
CodePen → https://goo.gle/3SdMnyY
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Chrome for Developers → https://goo.gle/ChromeDevs
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
Centering examples from Una → https://goo.gle/3rF7lvR
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
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
color-mix() with white hover codepen - https://goo.gle/3Pw6mHm
interpolation visualizer - https://goo.gle/45GwS6t
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
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
Check out → https://goo.gle/3YrJDiw
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers YouTube → https://goo.gle/ChromeDevs
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers YouTube → https://goo.gle/ChromeDevs
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers YouTube → https://goo.gle/ChromeDevs
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes on YouTube→ https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers YouTube → https://goo.gle/ChromeDevs
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers YouTube → https://goo.gle/ChromeDevs
The CSS Podcast
#CSSpodcast
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/3EeStaP
State of CSS (subgrid) - https://goo.gle/3fQDvP4
Full Bleed Subgrid demo - https://goo.gle/3TkZ1Jv
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers YouTube → https://goo.gle/ChromeDevs
The CSS Podcast
#CSSpodcast
Media query range syntax is a really nice addition.
Links
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes on YT → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
The CSS Podcast
#CSSpodcast
: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
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Catch more episodes → https://goo.gle/CSSpodcast
Subscribe to Google Chrome Developers → https://goo.gle/ChromeDevs
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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
Smashing Magazine - https://goo.gle/3ByUT1u
Una on YouTube - https://goo.gle/3Sm2zLc
Bramus at CSS Day 2022 - https://goo.gle/3LtfxVg
Bramus's blog - https://goo.gle/3xEj2CM
Subscribe to Google Chrome Developers YouTube - https://goo.gle/ChromeDevs
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Jecelyn Yeen
Developer advocate @ChromeDevTools 📐🤩
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Jecelyn Yeen
Developer advocate @ChromeDevTools 📐🤩
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Jecelyn Yeen
Developer advocate @ChromeDevTools 📐🤩
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
Jecelyn Yeen
Developer advocate @ChromeDevTools 📐🤩
The CSS Podcast
#CSSpodcast
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, Clipping and Masking E40 → @font-face E41 → Transforms E42 → Snap Points E43 → Containment E44 → Transitions E45 → @scroll-timeline E46 → Custom Properties E47 → :is(), :where(), and @nest E48 → Touch Interaction E49 → Accessibility E50 → Inherit, initial, inset, and revert E51 → Styling SVG E52 → Counters & @counter-style 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 CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘 The CSS Podcast #CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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://goo.gle/3wVgRYe
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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 user’s guide to CSS variables → https://goo.gle/3zlmscV
Locally Scoped CSS Variables: What, How, and Why → https://goo.gle/2KGESwR
GitHub → https://goo.gle/3iOiVOa
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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 - Tabs → https://goo.gle/34YYl5J
Bramus's talk → https://goo.gle/2TPs7HU
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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 → https://goo.gle/3nKMKQp
Una Kravets (co-host)
Making the web more colorful ✨🎨 Web DevRel @googlechrome Unicorn face host of @toolsday & Designing in the Browser 🎬
Adam Argyle (co-host)
@GoogleChrome CSS DevRel; @CSSWG; VisBug maker; punk; CSS/JS/UX addict; 💀🤘
The CSS Podcast
#CSSpodcast
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
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.gle/3sIM0w9
clip-path transitions → https://goo.gle/3tGx96I
CSS Masking → https://goo.gle/3goEcNt
The CSS Podcast
#CSSpodcast
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 with CSS! Nth-tricks → https://goo.gle/3g65Wq0
The CSS Podcast
#CSSpodcast
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/39HFYF8A Mind-Bending Discovery → https://goo.gle/31Rm3iA
The CSS Podcast#CSSpodcast
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
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
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
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
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 Podcast
#CSSpodcast
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
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
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.gle/3gspEdI
Masonry Layout Example by @iamvdo → https://goo.gle/37pRint
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
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 computedStyleMap → https://goo.gle/3p40ENy
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.gle/3eyFimW
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.
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
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.gle/2EPDOad
Custom & Instagram photo filters → https://goo.gle/31PhaYi
Contrast Swap technique → https://goo.gle/2G9LpRh
feColorMatrix → https://goo.gle/34UKw9u
Shaders → https://goo.gle/32PJ2uR
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/39VQV4N
Cubic-Bezier Tool → https://goo.gle/2Q5xj5i
Debugging Animations → https://goo.gle/3ayI2yD
Rainbow Button → https://goo.gle/3214e0t
Complete Easing Functions → https://goo.gle/3gaaiJ4
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
Lea’s Cicada Principle Article → https://goo.gle/2FyeWnr
In this episode we talk about the runtime dynamic side of CSS, commonly recognized as a CSS function. Today, in similar fashion to other episodes, we’ll be doing a massive overview of all the CSS functions, to be later deep dived.
Links:
CSS Tricks Guide to CSS Functions → https://goo.gle/2XRb7Ah
CSS Variables → https://goo.gle/2XRb2fX
Functional Notations Spec → https://goo.gle/3gJwavQ
Cubic Bezier Generator → https://goo.gle/30LiDhG
Billion Laughs Attack → https://goo.gle/2XUxjtg
In today’s episode, we’re talking about z-index and stacking context. This is a pretty in-depth topic, but it's something that we see all the time and it can definitely bite if you aren’t aware of what’s going on.
Links:
CSS Animations Level 1 → https://goo.gle/2DhV0V2
Scroll-linked Animations 1 → https://goo.gle/39VQV4N
15 thoughts on What's the Maximum Z-Index? → https://goo.gle/31ipKxh
What No One Told You About Z-Index → https://goo.gle/3fqTLjl
Today we discuss: focus! Focus is something we regularly deal with when writing styles and is also very tied to markup and attributes like tabindex, so we’ll be discussing all of those things in this episode!
Links:
User Action Pseudo-classes → https://goo.gle/3jNSHcL
HTML Standard → https://goo.gle/3g7FzNr
Keyboard control → https://goo.gle/2X1rNEE
Roving tabindex -- A11 → https://goo.gle/3jOZenQ
Today we’re talking about shadows! Box shadows, drop shadows, text shadows, and everything in between. Shadows can exist all over our UIs without us even realizing it because sometimes, they just look like borders.
box-shadow spec → https://goo.gle/32JVdL4
text-shadow spec → https://goo.gle/2ZMdiGo
Sass pixel art → https://goo.gle/3hsjQjp
Any image to CSS → https://goo.gle/2WKnm0L
Easing Box Shadows → https://goo.gle/2BjU6qh
Codepen → https://goo.gle/2ZLUDL2
3D Text → https://goo.gle/2ZNO8ar
Today we’re talking about borders! And while this sounds relatively simplistic, borders in CSS can actually get pretty complex very quickly. It’s not just color and style that you can adjust, but also also border images, where you control how the image repeats itself and what slice of the image you want to show.
Links:
CSS backgrounds and borders → https://goo.gle/3hbosdZ
CSS logical properties and values → https://goo.gle/308szAl
Fancy border radius generator → https://goo.gle/3fH3SBT
In this episode we break down functional and regular pseudo selectors, CSS’s special hook into encapsulated element states. We can’t control them, but we can leverage them to provide rich interactive feedback from our interfaces.
Links:
Selectors Level 4 → https://goo.gle/2ZiJLmt
a:link vs. a styling demo → https://goo.gle/2NGwWgd
Hacking Visited for Una’s Blog → https://goo.gle/3eIo0TC
:focus-within from Next Generation Web Styling → https://goo.gle/3gaXSRE
:focus-visible explainer → https://goo.gle/2VslHMA
Una’s Pure CSS Whackamole → https://goo.gle/2VxfhvX
Una’s Pure CSS Tick Tack Toe → https://goo.gle/2ZzTCob
Pure CSS Games Post → https://goo.gle/2VslTvi
Empty Demo with Custom Properties → https://goo.gle/31tUlJS
:blank naming → https://goo.gle/2Vukm81
::after and ::before? Pssh, do you know about ::first-letter, ::spelling-error, and ::backdrop? In this episode, we dive into the world of pseudo-elements and discuss how to use these unique declarations that enable styling specific parts of some selected HTML.
Links
CSS Pseudo-Elements Module Level 4 → https://goo.gle/2BxRB3q
CSS Shadow Parts → https://goo.gle/2NqjYmM
CSS Text Decoration Module Level 3 → https://goo.gle/2zXWYsd
The ::cue pseudo-element → https://goo.gle/2Z0E6kF
CSS Scoping Module Level 1 → https://goo.gle/3hXj9jt
Part and theme explainer → https://goo.gle/2YqsJn2
In this episode we do our best to cover the many ways to create space on the web. From techniques like HTML entities nbsp; to gap, we cover the clever, hacky and clean ways you can create spatial relationships on the web.
Links
CSS Logical Properties and Values Level 1 → https://goo.gle/3gw7FTp
HTML Entities → https://goo.gle/36Soqnd
Everything You Should Know About Collapsing Margins → https://goo.gle/2MwOuLr
Adam’s video: flex gap and internationalization → https://goo.gle/3gIuB1w
The days of euro-centric spacing like `margin-top` are limited: instead, say hello to `margin-block-start` to define space that works within any linguistic context based on your layout needs.In this episode we shake the physical and lean into the logical as we break down CSS logical properties.
Links:
Flow-relative syntax for margin - like shorthands -
Tracks, gaps, areas and flow are hot topics in this full coverage episode on CSS grid. We don’t leave anything out, so you’re bound to pick up something new. We talk about functions like min, max, and minmax, and how to combine all of the powers of CSS Grid to create explicit and auto layouts. This episode will set you up to reach for the right parts of grid at the right time.
Links
Grid Spec → https://goo.gle/3bLLfcW
3 CSS Grid Features Una Loves → https://goo.gle/2LGJAL8
Grid to Flex → https://goo.gle/2ThGBx0
In this episode we flex our flexbox knowledge and dive deep into CSS layout using the flexible box model. We talk about content axis’, flex flow, wrapping, order, justification, alignment, and more!
Links
Flexbox Spec - https://www.w3.org/TR/css-flexbox-1/
Flow-flow with writing mode - https://codepen.io/argyleink/pen/mdeedye
Grid to Flex: https://gridtoflex.com
In this episode we provide an overview and slight history of laying things out on the web, starting from blocks and framesets, ending with Grid and Houdini.
Links
A History of CSS through 15 years of 24 ways → https://goo.gle/3fnrBXI
Holy Grail Layout → https://goo.gle/2ynld2l
Complete Guide to Flexbox → https://goo.gle/2A2Wtg9
Grid Guide → https://goo.gle/2SEldBM
We’re sizing up sizing in CSS in this episode as we break down all the different lengths and measurements in CSS. CSS makes using these things seamless, it’s great, but let’s study some of the intricacies here; how it works and what that means for your day to day usage.
Links
CSS Spec Values and Units Level 4 → https://goo.gle/2KKdttw
Sizing and Units on MDC → https://goo.gle/2VMkros
Speech Module → https://goo.gle/2YbLISJ
All About Ems → https://goo.gle/3bMViiV
Explore perceptual, human-centered, color in this episode as we review latest specs, latest syntaxes, theories and strategies for color on the web in 2020.
Links:
Spec CSS color level-4 → https://goo.gle/3cFCaDr
Draft Spec CSS color level-5 → https://goo.gle/3cL4CUF
How Color Gamut & Display Technology Can Affect Your Content → https://goo.gle/3eIH5p3
WICG Contrast Ratio → https://goo.gle/2XWxZyZ
Lea Verou LCH color picker→ https://goo.gle/2VvVopn
Webkit Working on Color Level 4 → https://goo.gle/353yf0D
In this part 1 episode, we dive deep into using CSS color. We discuss ways to write and code colors, places they can go, functions you can use on them, and then we top it off with a hex color challenge. As always, you’ll learn new jargon, pick up a trick or two, and learn something new.
#C55 is #ace not #5ad
Links
The Evolution of Color - Chris Lilley
Read color hex codes - Dave DeSandro
Web Almanac 2019: CSS Chapter -- https://almanac.httparchive.org/en/2019/css
Nerds Guide to Web Color -> https://css-tricks.com/nerds-guide-color-web/
Inheritance and its effects in CSS are found all over your styles, almost invisibly, until further investigation through devtools or docs. In today’s episode, we illuminate the aspects of inheritance, how they’re useful, things to watch out for, and of course tips, tricks and vocabulary.
Links
Spec: css-cascade-3 → https://goo.gle/39KZPR6
List of inherits or not → https://goo.gle/2wn0yKF
The “C” in CSS stands for the cascade! And that’s what today’s show is all about. Learn how the styles you write are affected by other styles, and how it all boils down to what the user sees.
4 Phases Of The Cascade:
› Position
› Specificity
› Origin
› Importance
Links
MDN on the Cascade and Inheritance → https://goo.gle/39jAEES
CSS Cascade Interactive Article → https://goo.gle/2UhqIHV
Una’s Doodle → https://goo.gle/2QKTy13
In this episode we talk about how the browser resolves multiple selectors targeting the same subjects and how it determines which style to actually apply. Turns out, lots of code from many different locations is trying to style your elements, learning about specificity will help you debug and understand why or why not certain styles are winning over others.
Links
Diagram by Estelle Weyl → http://specifishity.com
Specificity Calculator → https://specificity.keegan.st
Get ready to learn some new CSS vocabulary! In this episode we talk about selectors, a syntax used to find elements (subjects) in a tree. CSS uses selectors to bind styles to subjects, and it’s quite powerful. We go over universal selectors, type selectors, class selectors, ID selectors, attribute selectors, pseudo selectors, complex and compound selectors, and various combinators. A lot of things!
Links
CSS selectors level 3 →https://goo.gle/39MHdRp
CSS - Tricks: How Selectors Work → https://goo.gle/3cUSb9y
Where do scrollbars go, inside or outside the box? In this episode Una and Adam answer that and much more in their discussion of the CSS box model. Everything in CSS starts as a box, and while that’s a straight forward concept to initially think about, it can get complex quite quickly. Not only do boxes surround elements, but letters in a sentence each have a box too. How many boxes are there!? Lots. Lots of boxes.
Links
Box Model CSS Spec: https://goo.gle/39KwDud
Adam’s Box Model CodePen: https://goo.gle/38JFZ8n
CSS Tricks on the Box Model: https://goo.gle/3aM4a7p
Check out the Instagram: https://goo.gle/2W97OEg
En liten tjänst av I'm With Friends. Finns även på engelska.