<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>CafeJS Blogs · Blog</title>
    <link>https://blogs.cafejs.net/en/blog/</link>
    <description>Every CafeJS Blogs post, newest first.</description>
    <language>en</language>
    <lastBuildDate>Fri, 06 Nov 2026 00:00:00 GMT</lastBuildDate>
    <item>
      <title>A “magnetic” hover for a bento grid, almost entirely in CSS</title>
      <link>https://blogs.cafejs.net/en/blog/bento-hover-nam-cham/</link>
      <guid isPermaLink="true">https://blogs.cafejs.net/en/blog/bento-hover-nam-cham/</guid>
      <pubDate>Fri, 06 Nov 2026 00:00:00 GMT</pubDate>
      <description>An indicator that glides from one cell to the next, thanks to anchor-name, position-anchor and anchor().</description>
      <category>Development</category>
    </item>
    <item>
      <title>A popover menu that morphs from its anchor, with no guessing in JavaScript</title>
      <link>https://blogs.cafejs.net/en/blog/popover-morph-theo-neo/</link>
      <guid isPermaLink="true">https://blogs.cafejs.net/en/blog/popover-morph-theo-neo/</guid>
      <pubDate>Fri, 06 Nov 2026 00:00:00 GMT</pubDate>
      <description>When the browser flips a menu to keep it on screen, CSS can now tell which fallback is active, and grow the content from the corner nearest the button.</description>
      <category>Development</category>
    </item>
    <item>
      <title>Draw real HTML into a canvas, then drop the whole page under water</title>
      <link>https://blogs.cafejs.net/en/blog/html-trong-canvas/</link>
      <guid isPermaLink="true">https://blogs.cafejs.net/en/blog/html-trong-canvas/</guid>
      <pubDate>Fri, 06 Nov 2026 00:00:00 GMT</pubDate>
      <description>HTML-in-Canvas lets a canvas draw live HTML elements. Forms still take typing and buttons still take clicks, while their pixels bend however you like.</description>
      <category>Development</category>
    </item>
    <item>
      <title>Keep a chat box scrolled to the bottom without a single line of scroll code</title>
      <link>https://blogs.cafejs.net/en/blog/chat-cuon-day-css/</link>
      <guid isPermaLink="true">https://blogs.cafejs.net/en/blog/chat-cuon-day-css/</guid>
      <pubDate>Fri, 06 Nov 2026 00:00:00 GMT</pubDate>
      <description>Two CSS rules with overflow-anchor and a 1px “pin” element.</description>
      <category>Development</category>
    </item>
    <item>
      <title>light-dark() now takes images, not just colours</title>
      <link>https://blogs.cafejs.net/en/blog/light-dark-hinh-anh/</link>
      <guid isPermaLink="true">https://blogs.cafejs.net/en/blog/light-dark-hinh-anh/</guid>
      <pubDate>Fri, 06 Nov 2026 00:00:00 GMT</pubDate>
      <description>One line of CSS swaps a day background for a night one, with no media query and no JavaScript.</description>
      <category>Development</category>
    </item>
    <item>
      <title>CafeJS Blogs: tech news, short and easy to read</title>
      <link>https://blogs.cafejs.net/en/blog/chao-mung/</link>
      <guid isPermaLink="true">https://blogs.cafejs.net/en/blog/chao-mung/</guid>
      <pubDate>Thu, 05 Nov 2026 00:00:00 GMT</pubDate>
      <description>This blog keeps the tech news worth reading on AI, development, gadgets and security, with a few lines on why each story matters.</description>
    </item>
  </channel>
</rss>
