<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>动画 | 今天abc看了啥🤔</title><description>现在我也不知道这频道发了啥了，各位慢慢吃瓜，将就着看联系我请去 @abc1763613206友链儿@cyberElaina@rvalue_daily@billchenla</description><link>https://channel.0w0.best</link><item><title>#优质博文 #CSS #动画 #前端In-N-Out Animations: Popovers (Part 2/3) | Master.dev：利用 CSS 新特性给 Popover API 元素添加平滑的进出场动画</title><link>https://channel.0w0.best/posts/7457</link><guid isPermaLink="true">https://channel.0w0.best/posts/7457</guid><pubDate>Sun, 21 Jun 2026 08:21:47 GMT</pubDate><content:encoded>&lt;div class=&quot;tgme_widget_message_forwarded_from accent_color&quot;&gt;Forwarded from &lt;a class=&quot;tgme_widget_message_forwarded_from_name&quot; href=&quot;https://t.me/cosine_front_end/3828&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;cosine - 前端人の日常频道&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;/search/result?q=%23%E4%BC%98%E8%B4%A8%E5%8D%9A%E6%96%87&quot; title=&quot;#优质博文&quot;&gt;#优质博文&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS&quot; title=&quot;#CSS&quot;&gt;#CSS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%8A%A8%E7%94%BB&quot; title=&quot;#动画&quot;&gt;#动画&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://master.dev/blog/in-n-out-animations-popovers-part-2-3/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;In-N-Out Animations: Popovers (Part 2/3) | Master.dev&quot;&gt;In-N-Out Animations: Popovers (Part 2/3) | Master.dev&lt;/a&gt;：利用 CSS 新特性给 Popover API 元素添加平滑的进出场动画。&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;tg-expandable&quot;&gt;
      &lt;input type=&quot;checkbox&quot; id=&quot;expand-1-0&quot; class=&quot;tg-expandable__checkbox&quot; aria-label=&quot;Toggle hidden content&quot; aria-controls=&quot;expand-1-0-content&quot; /&gt;
      &lt;div id=&quot;expand-1-0-content&quot; class=&quot;tg-expandable__content&quot;&gt;AI 摘要：文章展示了如何将 Dialog 动画的“3-2-1”级联规则（利用 &lt;a href=&quot;https://t.me/starting&quot; target=&quot;_blank&quot; title=&quot;@starting&quot;&gt;@starting&lt;/a&gt;-style 和 :popover-open）复用到原生 popover 上，实现从 display: none 展开时的平滑过渡。此外还介绍了针对 prefers-reduced-motion 的减弱动画适配，以及解决 Safari 浏览器在退场动画中丢失锚点定位的兼容小妙招。&lt;/div&gt;
      &lt;label for=&quot;expand-1-0&quot; class=&quot;tg-expandable__toggle&quot;&gt;&lt;span class=&quot;sr-only&quot;&gt;Toggle hidden content&lt;/span&gt;&lt;/label&gt;
    &lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://master.dev/blog/in-n-out-animations-view-transitions-part-3-3/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;In-N-Out Animations: View Transitions (Part 3/3) | Master.dev&quot;&gt;In-N-Out Animations: View Transitions (Part 3/3) | Master.dev&lt;/a&gt;：使用 View Transitions API 优雅解决 DOM 节点真实增删时的进出场动画难题。&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;tg-expandable&quot;&gt;
      &lt;input type=&quot;checkbox&quot; id=&quot;expand-1-1&quot; class=&quot;tg-expandable__checkbox&quot; aria-label=&quot;Toggle hidden content&quot; aria-controls=&quot;expand-1-1-content&quot; /&gt;
      &lt;div id=&quot;expand-1-1-content&quot; class=&quot;tg-expandable__content&quot;&gt;AI 摘要：针对元素在 DOM 中真正被创建或销毁时（传统动画的 Hard Mode）的退场动画，文章介绍了使用 View Transitions API 的解决方案。通过 document.startViewTransition 结合 ::view-transition-new() / ::view-transition-old() 和 &lt;a href=&quot;https://t.me/keyframes&quot; target=&quot;_blank&quot; title=&quot;@keyframes&quot;&gt;@keyframes&lt;/a&gt;，即可用极简的代码实现极其丝滑的淡入淡出及位移效果。&lt;/div&gt;
      &lt;label for=&quot;expand-1-1&quot; class=&quot;tg-expandable__toggle&quot;&gt;&lt;span class=&quot;sr-only&quot;&gt;Toggle hidden content&lt;/span&gt;&lt;/label&gt;
    &lt;/div&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://master.dev/blog/in-n-out-animations-popovers-part-2-3/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Using our 3, 2, 1 state system, we can make popovers animate on&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;master.dev&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;In-N-Out Animations: Popovers (Part 2/3)&quot; src=&quot;/static/https://cdn4.telesco.pe/file/RiF0rCULWKWPZ6uA059h_LEYCQBYhvuI_mm-UYQDENytuNSUWm2Dq3rraIART4JKjnjV6WsS0uPHWvgOGZYxLOGNzyy9_wV3SBaOdqOc051I0BnMJCxOLmY98hmFRVK7uw3_OYHtgJgUtquqSbSUY14o0g-uBjUg-4afnufwreksaM-HOyQbRfXLtBi82Ncu9TJEp3ujETABCCFghmjKiL9IYK6--V5d-mLqNEESC_843Vrpu8kZwEkXUru5zEY-RANd-rq7Il3xOPMUDrxotSYonHJHV9HQnt4v0SrfSKSmv_Dx4_t77rlcG0rUAiyHGDwRMI7KZwXSMAjz_qShzg.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;In-N-Out Animations: Popovers (Part 2/3)&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Using our 3, 2, 1 state system, we can make popovers animate on&lt;/div&gt;
&lt;/a&gt;</content:encoded></item><item><title>#优质博文 #CSS #前端 #动画 #courseA First Look at Scroll-Triggered Animations：Chrome 146 率先支持了纯 CSS 的滚动触发动画，让开发者不用 JS 也能实现类似 Intersection Observer 的元素入场动画</title><link>https://channel.0w0.best/posts/7456</link><guid isPermaLink="true">https://channel.0w0.best/posts/7456</guid><pubDate>Sun, 21 Jun 2026 08:21:47 GMT</pubDate><content:encoded>&lt;div class=&quot;tgme_widget_message_forwarded_from accent_color&quot;&gt;Forwarded from &lt;a class=&quot;tgme_widget_message_forwarded_from_name&quot; href=&quot;https://t.me/cosine_front_end/3827&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot;&gt;&lt;span&gt;cosine - 前端人の日常频道&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;a href=&quot;/search/result?q=%23%E4%BC%98%E8%B4%A8%E5%8D%9A%E6%96%87&quot; title=&quot;#优质博文&quot;&gt;#优质博文&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23CSS&quot; title=&quot;#CSS&quot;&gt;#CSS&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%89%8D%E7%AB%AF&quot; title=&quot;#前端&quot;&gt;#前端&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23%E5%8A%A8%E7%94%BB&quot; title=&quot;#动画&quot;&gt;#动画&lt;/a&gt; &lt;a href=&quot;/search/result?q=%23course&quot; title=&quot;#course&quot;&gt;#course&lt;/a&gt;&lt;br /&gt;&lt;a href=&quot;https://css-tricks.com/css-scroll-triggered-animations-first-look/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;A First Look at Scroll-Triggered Animations&quot;&gt;A First Look at Scroll-Triggered Animations&lt;/a&gt;：Chrome 146 率先支持了纯 CSS 的滚动触发动画，让开发者不用 JS 也能实现类似 Intersection Observer 的元素入场动画。&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;tg-expandable&quot;&gt;
      &lt;input type=&quot;checkbox&quot; id=&quot;expand-0-0&quot; class=&quot;tg-expandable__checkbox&quot; aria-label=&quot;Toggle hidden content&quot; aria-controls=&quot;expand-0-0-content&quot; /&gt;
      &lt;div id=&quot;expand-0-0-content&quot; class=&quot;tg-expandable__content&quot;&gt;AI 摘要：文章介绍了 Chrome 146 引入的新特性：滚动触发动画（Scroll-Triggered Animations）。不同于与滚动进度完全绑定的 Scroll-Driven &lt;mark class=&quot;highlight&quot;&gt;动画&lt;/mark&gt;，Scroll-Triggered 允许在元素滚动到设定的视口阈值（如完全进入视口）时，直接触发并播放一段常规的、有固定时长的 CSS &lt;mark class=&quot;highlight&quot;&gt;动画&lt;/mark&gt;。通过新属性 timeline-trigger 和 animation-trigger，开发者可以轻松控制动画的触发时机和播放行为（如仅播放一次或随着滚动进出反复触发），进一步减少了对 JavaScript 监听的依赖。&lt;/div&gt;
      &lt;label for=&quot;expand-0-0&quot; class=&quot;tg-expandable__toggle&quot;&gt;&lt;span class=&quot;sr-only&quot;&gt;Toggle hidden content&lt;/span&gt;&lt;/label&gt;
    &lt;/div&gt;&lt;a class=&quot;tgme_widget_message_link_preview&quot; href=&quot;https://css-tricks.com/css-scroll-triggered-animations-first-look/&quot; target=&quot;_blank&quot; rel=&quot;noopener&quot; title=&quot;Let&apos;s poke at the differences between scroll-driven and scroll-triggered animations.&quot;&gt;
  
  &lt;div class=&quot;link_preview_site_name accent_color&quot;&gt;CSS-Tricks&lt;/div&gt;
  &lt;img class=&quot;link_preview_image&quot; alt=&quot;A First Look at Scroll-Triggered Animations | CSS-Tricks&quot; src=&quot;/static/https://cdn4.telesco.pe/file/CEfhKn0N1FClP7GM6wF-sIGs7yoGOVyjfl8ci9GR6JSSHMTKGt0_PwNi5EHXtUi6MKmUPvyZNjBdbsU2msUoF4xggHowDopo_FQBz41WVy4w9I_PdBH4W8sv5SZRcBDKTlEAIRbYrzdfmjRXx3iL0i3yjdK5ZnmSPf1jhdFFCpa4dB9HnPgY0ewnlYxfenYVu1388K2s0Gyj9Wtl0_faowCROsiNmBFH_M68LLFOw1eEHn64U9q4t2KEkQR-PjUY4MusNNGF8vUJVAKjak2wkzMHjcejaICqz-8ZIyjlxsD8hP0XMcQ3Fc_7H6VI9T9j4zHnOvv9fKX7Lv8nVDBKwQ.jpg&quot; width=&quot;1200&quot; height=&quot;630&quot; loading=&quot;eager&quot; /&gt;
  &lt;div class=&quot;link_preview_title&quot;&gt;A First Look at Scroll-Triggered Animations | CSS-Tricks&lt;/div&gt;
  &lt;div class=&quot;link_preview_description&quot;&gt;Let&apos;s poke at the differences between scroll-driven and scroll-triggered animations.&lt;/div&gt;
&lt;/a&gt;</content:encoded></item></channel></rss>