Whether I'm giving a talk or on a podcast, these two things constantly pop up:
how do I find what to study to keep up?what's new in CSS?If you've wondered those things before, then this list is for you.
Find something you've never heard of, click the link; and look at you, you're already getting more familiar with what's new!
Selectors
#
:has():is() and :where():focus-visible:user-valid:user-invalid:active-view-transition:active-view-transition-type():target-current:popover-open:scope:heading:heading():state()Pseudo Elements
#
::backdrop::slotted()::part()::highlight()::grammar-error::spelling-error::view-transition-new()::view-transition-old()::view-transition-group()::view-transition-image-pair()::scroll-button()::scroll-marker()::details-content::picker()::picker-icon::checkmark::column::target-textLanguage
#
CSS Nesting@rules
#
@propertysize querystyle querystate query@scope@layer@keyframes with entry and exit@supports@starting-style@view-transition@position-try@mixin@function@else@whenColor
#
color-mix()color(from …)contrast-color()oklch(), oklab(), hwb(), color()linear-gradient(in oklab, …)Functions
#
var()if()linear()fit-content()repeat()min()max()attr()env()circle(), polygon()scroll()view()clamp()sibling-count() and sibling-index()cos(), sin(), tan(), pow(), atan2() asin() acos()shape()light-dark()at-rule()image-set()anchor()random()random-item()control-value()progress()media-progress()container-progress()mix()calc-mix()cross-fade()transform-mix()first-valid()toggle()Properties
#
accent-colorcolor-schemecontainer-typecontent-visibilitycontain-intrinsic-sizeaspect-ratioanimation-compositionanimation-timelineanimation-rangetext-wrapfont-palette and font-palette-valuesscrollbar-gutterforced-color-adjustreading-flowscroll-behaviorinterpolate-sizecorner-shapeoverscroll-behaviorscroll-marker-groupscroll-target-grouptransition-behaviorscrollbar-color and scrollbar-sizetext-boxanchor-nameanchor-scopeposition-anchorposition-areaposition-try-fallbacksposition-try-orderposition-visibilityfield-sizinginitial-letterValues
#
grid-template-columns: subgrid;text-align: start | end;overflow: clip;Queries:
#
@media (prefers-contrast)@media (prefers-reduced-data)Units
#
There's a whole lot of units now. In my opinion, each are unique and useful in their own occasions. Super powers, knowing which to use when.
Relative
#
exchcapiclhRoot Relative
#
rexrchrlhricrcapAbsolute
#
ptpcincmmmQViewport
#
vwvhvivbvminvmaxdvwdvhdvidvbdvmindvmaxsvwsvhsvisvbsvminsvmaxlvwlvhlvilvblvminlvmaxContainer
#
cqwcqhcqicqbcqmincqmaxHave a suggestion? Let me know on Bluesky or Twitter! 🤝