<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>webdev on #anooptube</title>
    <link>https://anooptube.in/tags/webdev/</link>
    <description>Recent content in webdev on #anooptube</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 17 Aug 2026 14:59:57 +0530</lastBuildDate><atom:link href="https://anooptube.in/tags/webdev/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Modern CSS in 2026: Container Queries, :has(), and Cascade Layers</title>
      <link>https://anooptube.in/blog/post54/</link>
      <pubDate>Mon, 17 Aug 2026 14:59:57 +0530</pubDate>
      
      <guid>https://anooptube.in/blog/post54/</guid>
      <description>I spent a chunk of last week ripping JavaScript out of a component library. Not because it was buggy — because it didn&amp;rsquo;t need to exist anymore. A resize observer that toggled a class based on container width, a form validation script that just added an &amp;ldquo;invalid&amp;rdquo; class to a parent div, a PostCSS plugin that faked layer-like ordering — all three jobs are now native CSS. This post is a walkthrough of the three features that made that possible: container queries, :has(), and cascade layers, plus native nesting and scroll-driven animations along the way, with real code for each.</description>
    </item>
    
  </channel>
</rss>
