Skip to content

Instantly share code, notes, and snippets.

@LukyVj
Last active June 9, 2025 12:13
Show Gist options
  • Save LukyVj/72fbdf16a38288368023529996f2acf2 to your computer and use it in GitHub Desktop.
Save LukyVj/72fbdf16a38288368023529996f2acf2 to your computer and use it in GitHub Desktop.
CSSDay2025

🧠 CSS Day 2025 — Summary

🎤 Talks & Highlights

💡 Adam Argyle

  • Advanced scrolling techniques: carousels, scroll affordances, scroll-driven animations.
  • Scrollbar demos aligned with box padding.
  • Resources: nerdy.dev/cssday-2025

🧠 John Allsopp

  • Talk: A Dao of CSS
  • A philosophical journey on the timeless power of CSS and the open web.
  • Encouraged devs to embrace the resilience, universality, and grace of the web.
  • Quote:

    “We lost our way as we envied native apps. The web is more resilient.”

🧰 Miriam Suzanne

  • From SASS to CSS: native nesting, mixins, and @functions
  • Upcoming CSS features inspired by Sass (but not exactly Sass).
  • Quote:

    "If you thought CSS was programming, it still is. If you didn’t, it still isn’t."

  • Warning: complexity is moving, not disappearing.

🧪 Cyd Stumpel

  • Creative use of view transitions:
  • Smooth filtering transitions: fade-out removed items, auto-reposition remaining ones
  • Reusing transition classes across elements
  • Pushed CSS-only transitions beyond single-page apps

🎛️ Brecht De Ruyte

  • Deep dive into customizing select dropdowns
  • Add a button inside <select> for styling
  • Use anchor-positioning to build radial select menus
  • Showed @starting-style, scroll-state(), and appearance: base-select
  • Memorable demos: dim sum menu, radial buttons, etc.

🧬 Rachel Andrew

  • Topics covered:
    • Multicol, fragmentation
    • CSS gap decorations
    • Exclusions, Regions
    • Why printing from browsers still sucks
  • Encouraged devs to share their use cases on csswg-drafts GitHub
  • Quote:

    “Printing isn't sexy, but it's useful and necessary.”

📦 Brad & Ian Frost

  • Topic: Design Tokens and Design Systems
  • Focus on building core reusable UI parts across brands and products.
  • Open UI Community Group mentioned as a possible solution for built-in components.
  • Emphasis on portability and consistency across multiple platforms.

🧱 Chris Coyier

  • Topic: Scope in CSS
  • Problem: multiple people using .card class, leading to conflicts.
  • @scope allows for local scoping of styles within a selector tree.
  • Tools like CSS Modules (still relevant after 10 years) help add unique hashes to class names.

🎨 Ahmad Shadeed

  • Talk on smart layouts:
  • Using anchor-positioning for tooltips and overlays.
  • CSS functions like sibling-count() and sibling-index()
  • Zones instead of breakpoints: toward intrinsic layout
  • Emphasis on layout that reacts to content, not just viewport.

🧩 Niko Timmerman (ntim)

  • Styling native form controls like checkboxes:
  • Nike replaces checkbox with button + div for more control
  • Warning: using display: none on checkbox and styling the label is no longer best practice
  • New values for appearance: auto, none, textfield, base-select, primitive, etc.
  • Showed how :has() can help style form controls more flexibly

🧠 Amit Sheen

  • Talk: Building a Computer with CSS
  • Wild demos of logic gates, displays, calculators — all with pure CSS.
  • Pushed the boundaries of what's possible without JS.
  • Not practical, but an unforgettable showcase of CSS as a creative language.

🧼 Ana Rodrigues

  • Talk: Refactoring CSS
  • Tactics for dealing with messy stylesheets and legacy CSS debt.
  • Emphasis on commenting intent, small steps, and deleting unused code.
  • Made the case for clean, maintainable CSS as a daily practice.

♻️ Hidde de Vries

  • Talk: display: green; – Applying the Web Sustainability Guidelines
  • Discussed carbon footprint of websites and how CSS can help reduce it.
  • Introduced concepts like prefers-reduced-data, asset budgets, and performance as sustainability.
  • Encouraged a mindset shift toward environmentally conscious development.

🪶 Bruce Lawson

  • Talk: The goose and the common
  • A poetic ode to accessibility and the open web.
  • Connected historical common rights with the need to protect the digital commons.
  • Argued that inclusive design is a moral and social responsibility.

🧷 Quotes & Nuggets

  • “We lost our way as we envied native apps. The web is more resilient.” — John Allsopp
  • “deepPink goes harder.” — Miriam Suzanne
  • “If you thought CSS was programming, it still is. If you didn’t, it still isn’t.” — Miriam Suzanne
  • “Don’t fight the browser — give it constraints and let it do its thing.” — CSS Day ethos

🔧 Demos & Tips

Conditional border-radius based on screen size:

border-radius: max(0px, min(8px, calc((100vw - 4px - 100%) * 9999))) / 8px;

CSS @function example:

@function --rounded(--d) {   result: clamp(0px, calc(100vw - var(--d) - 100%) * 9999, var(--border-radius)); }

🔍 Styling custom selects (Brecht)

select::picker {   background: white;   border-radius: 8px; }

🎞️ View transitions (Cyd)

::view-transition-old(*) {   opacity: 0;   transform: scale(0.95); }

📚 Links


Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment