动画
htmx 旨在让你使用仅使用 CSS 和 HTML 即可为你的网页添加流畅的动画和过渡。以下是各种动画技术的几个示例。
htmx 还允许你使用新的 视图转换 API 来创建动画。
基本 CSS 动画
色彩变换
htmx 中最简单的动画技术是在内容交换过程中保持元素 id 不变。如果元素的保持 id 不变,htmx 将以某种方式交换它,以便在元素的旧版本和新版本之间实现 CSS 过渡。
参考这个 div:
<style>
.smooth {
transition: all 1s ease-in;
}
</style>
<div id="color-demo" class="smooth" style="color:red"
hx-get="/colors" hx-swap="outerHTML" hx-trigger="every 1s">
Color Swap Demo
</div>
这个 div 将每秒轮询一次,并且会被新内容替换,从而将样式更改 color 为新的值(例如blue):
<div id="color-demo" class="smooth" style="color:blue"
hx-get="/colors" hx-swap="outerHTML" hx-trigger="every 1s">
Color Swap Demo
</div>
因为 div 具有固定的 id color-demo ,所以 htmx 将构造交换,以便在 .smooth 类上定义 CSS 转换。适用于从 red 到 blue 的样式更新,并在它们之间平滑过渡。
平滑的进度条
进度条 示例也使用了这种基本的 CSS 动画技术,通过更新进度条元素的 length 属性,实现流畅的动画。
演示
Color Swap Demo