<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>Helping people fall in love with CSS &#xA;📺 https://YouTube.com/@kevinpowell&#xA;✉️ https://kevinpowell.co/newsletter</description><link>https://bsky.app/profile/kevinpowell.co</link><title>@kevinpowell.co - Kevin Powell</title><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtjbxruxck2q</link><description>Anytime I use nesting in a YouTube video, people comment that they didn&#39;t realize we can use it in vanilla CSS.&#xA;&#xA;Browser support is getting pretty good now, but there are a few gotchas, one of which might surprise you if you&#39;re coming from a preprocessor like Sass.</description><pubDate>20 Aug 2026 12:51 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtjbxruxck2q</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mu6ni35gvk2b</link><description>I&#39;m sorry what&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>29 Aug 2026 00:43 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mu6ni35gvk2b</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mu5nvuiui22m</link><description>So YouTube took care of this relatively quickly. &#xA;&#xA;TikTok still has the three videos up on a channel that&#39;s all the same crap. I&#39;ve reported each video and the channel, and I know others have too.&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>28 Aug 2026 15:18 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mu5nvuiui22m</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mu5l7cav4s2a</link><description>Anchor positioning makes this type of effect feel almost too easy to make now.&#xA;&#xA;If you want the long-form where I break it down in more detail, you can find it here: youtu.be/8_NQ7ARXz8c</description><pubDate>28 Aug 2026 14:30 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mu5l7cav4s2a</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mu2y44i7nc25</link><description>I know titles like I used here turn some people off, but they work incredibly well compared to descriptive titles.&#xA;&#xA;As usual, I think it&#39;s a good video with a lot of value, so while it obviously benefits me if more people watch, I also do think it benefits the extra people watching too.&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>27 Aug 2026 13:43 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mu2y44i7nc25</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtyt5xk5222o</link><description>The easy part of this one was the scroll-triggered animations. &#xA;&#xA;The tricky part is staggering the animations. If I&#39;d had a consistent grid it would be easy, but I was using auto-fit, so I had to do a little more work.&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>26 Aug 2026 17:09 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtyt5xk5222o</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtyqu2nknk2j</link><description>Scroll-triggered animations that fire once and stay without any JavaScript.&#xA;&#xA;The trick is using animation-play-state to pause the animation when it&#39;s out of view. &#xA;&#xA;https://www.youtube.com/watch?v=onraoQExbHw</description><pubDate>26 Aug 2026 16:28 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtyqu2nknk2j</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtu45rvi7c25</link><description>When we got modals with dialog, it already seemed like something that was a pain in the butt was just so easy now... add invoker commands into the mix, and it&#39;s almost too easy 😅</description><pubDate>24 Aug 2026 20:07 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtu45rvi7c25</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtvxu6bluk2i</link><description>So I&#39;ve been deepfaked, which feels pretty dystopian...&#xA;&#xA;The video is pretty good, but the voice is terrible.&#xA;&#xA;I&#39;ve reported the videos and channel already, and, if you have a free moment, I&#39;d appreciate if you reported the channel too, it&#39;s full of this crap.&#xA;&#xA;https://www.tiktok.com/@jeffcryptoteam</description><pubDate>25 Aug 2026 13:55 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtvxu6bluk2i</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtu3rlbi7c25</link><description>What are some of your favourite uses of @property that aren&#39;t animating the colours of a gradient?</description><pubDate>24 Aug 2026 20:00 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtu3rlbi7c25</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtu45rvi7c25</link><description>When we got modals with dialog, it already seemed like something that was a pain in the butt was just so easy now... add invoker commands into the mix, and it&#39;s almost too easy 😅</description><pubDate>24 Aug 2026 20:07 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtu45rvi7c25</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtu3rlbi7c25</link><description>What are some of your favourite uses of @property that aren&#39;t animating the colours of a gradient?</description><pubDate>24 Aug 2026 20:00 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtu3rlbi7c25</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtmtqfzjs22q</link><description>I asked 100 devs what their favorite  framework was, and had @nerdy.dev try and guess the top four answers.</description><pubDate>21 Aug 2026 22:47 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtmtqfzjs22q</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtmtqfzjs22q</link><description>I asked 100 devs what their favorite  framework was, and had @nerdy.dev try and guess the top four answers.</description><pubDate>21 Aug 2026 22:47 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtmtqfzjs22q</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtm2cti3rc2l</link><description>One of my favorite new-ish (and decently well supported) CSS features is the linear() function, and because of that, one of my favorite sites is easingwizard.com</description><pubDate>21 Aug 2026 15:12 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtm2cti3rc2l</guid></item><item><link>https://bsky.app/profile/kevinpowell.co/post/3mtlqtzkr5s2c</link><description>Beyond the issues Bramus addresses in his post, ask anyone who isn&#39;t a CSS nerd what [class|=&#34;foo=&#34;] matches. Most will have no idea, or someone who knows regex will get it wrong.&#xA;&#xA;I think there&#39;s a lot of value just in it being simpler, beyond the other advantages over |= this will come with.&#xA;&#xA;[contains quote post or other embedded content]</description><pubDate>21 Aug 2026 12:23 +0000</pubDate><guid isPermaLink="false">at://did:plc:xbj7qbl7qmoo7dpf5dheplex/app.bsky.feed.post/3mtlqtzkr5s2c</guid></item></channel></rss>