<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>modern-css.com — Articles</title><description>In-depth CSS tutorials and step-by-step guides from modern-css.com.</description><link>https://modern-css.com/</link><language>en-us</language><item><title>The state of CSS centering</title><link>https://modern-css.com/articles/the-state-of-css-centering/</link><guid isPermaLink="true">https://modern-css.com/articles/the-state-of-css-centering/</guid><description>A decision guide to centering in CSS. Grid place-items, flexbox, auto-margins, the transform-free method, and the newer block-level and anchor approaches, with guidance on which to pick.</description><pubDate>Tue, 02 Jun 2026 06:00:00 GMT</pubDate></item><item><title>Why CSS animations beat JavaScript (and when they don&apos;t)</title><link>https://modern-css.com/articles/why-css-animations-beat-javascript/</link><guid isPermaLink="true">https://modern-css.com/articles/why-css-animations-beat-javascript/</guid><description>CSS transitions and keyframes run off the main thread, so they stay smooth when JavaScript is busy. Here is why CSS is the default for animation, and the cases where a JS library still wins.</description><pubDate>Thu, 28 May 2026 09:00:00 GMT</pubDate></item><item><title>CSS Hacks of the IE6 Era</title><link>https://modern-css.com/articles/ie6-css-hacks/</link><guid isPermaLink="true">https://modern-css.com/articles/ie6-css-hacks/</guid><description>A look back at the targeting hacks, parser exploits, and bizarre workarounds we used to make Internet Explorer 6 behave. Star-HTML, underscore properties, hasLayout, expression(), and more.</description><pubDate>Mon, 11 May 2026 21:00:00 GMT</pubDate></item><item><title>Modern CSS units you should know</title><link>https://modern-css.com/articles/modern-css-units-you-should-know/</link><guid isPermaLink="true">https://modern-css.com/articles/modern-css-units-you-should-know/</guid><description>A practical tour of CSS units shipped recently: dvh and svh for mobile viewports, container query units, lh for vertical rhythm, and cap for type-aware sizing.</description><pubDate>Fri, 01 May 2026 22:09:00 GMT</pubDate></item><item><title>Build an accessible carousel with only CSS</title><link>https://modern-css.com/articles/build-a-css-only-carousel/</link><guid isPermaLink="true">https://modern-css.com/articles/build-a-css-only-carousel/</guid><description>Build a fully accessible carousel using CSS scroll-button and scroll-marker pseudo-elements. No Swiper.js or JavaScript needed.</description><pubDate>Mon, 09 Feb 2026 09:00:00 GMT</pubDate></item><item><title>Build a fully styled select dropdown with base-select</title><link>https://modern-css.com/articles/build-a-styled-select-dropdown/</link><guid isPermaLink="true">https://modern-css.com/articles/build-a-styled-select-dropdown/</guid><description>Step-by-step guide to building a custom styled select dropdown using appearance: base-select and ::picker(select). No JavaScript library needed.</description><pubDate>Mon, 09 Feb 2026 09:00:00 GMT</pubDate></item><item><title>Build a tooltip system with popover hint and anchor positioning</title><link>https://modern-css.com/articles/build-a-tooltip-system/</link><guid isPermaLink="true">https://modern-css.com/articles/build-a-tooltip-system/</guid><description>Build a declarative tooltip system using popover=hint, interestfor, and CSS anchor positioning. No Tippy.js or JavaScript required.</description><pubDate>Mon, 09 Feb 2026 09:00:00 GMT</pubDate></item></channel></rss>