结构
每个组合都需要一个带有data-composition-id 的根元素:
index.html
index.html 文件是顶层组合。它可以包含嵌套的组合。任何作品都可以导入到另一个作品中——没有特殊的“根”类型。
剪辑类型
剪辑是时间线上的任何离散块,表示为具有数据属性 的 HTML 元素:<video>— 视频剪辑、B 卷、A 卷<img>— 静态图像、叠加层<audio>— 音乐、音效<div data-composition-id="...">— 嵌套组合(动画、分组序列)
嵌套组合
您可以通过两种方式将一个组合嵌入到另一个组合中:从外部文件加载或内联定义它。外部文件是可重用组合的推荐方法。- 外部文件
- 排队
使用 每个外部组合文件将其内容包装在
data-composition-src 引用另一个 HTML 文件。框架自动获取文件,提取 <template> 内容,安装它,执行脚本并注册时间线。index.html
<template> 标记中:compositions/intro-anim.html
项目结构
project
index.html
compositions
intro-anim.html
caption-overlay.html
outro-title.html
assets
两层:基元和脚本
每个作品都有两层:- HTML — 原始剪辑(
video、img、audio、嵌套组合)。声明性结构:播放什么内容、何时播放以及在哪首曲目上播放。由数据属性控制。 - 脚本 — 效果、过渡、动态 DOM、画布、SVG — 通过 GSAP 进行创意动画。脚本不控制媒体播放或剪辑可见性。
变量
HyperFrames 不会自动将data-var-* 属性绑定到您的组合 DOM 或 CSS 中。
支持的模式是:
- 使用
data-composition-variables(id + 类型 + 默认值)在子组件的<html>根上声明一次变量。 - 使用
data-variable-values在每个组合主机上传递每个实例的值。 - 使用
window.__hyperframes.getVariables()读取组合内的解析值。运行时将主机的data-variable-values分层到每个实例声明的默认值之上,因此可以使用不同的值多次嵌入相同的源。
index.html
compositions/card.html
@hyperframes/core 之上构建工具,则可以通过 extractCompositionMetadata() 读取相同的 data-composition-variables 数组,以用于 Studio 编辑 UI 和分析管道。
列表组合
使用 CLI 查看项目中的所有合成:下一步
数据属性
有关时序、媒体和合成属性的完整参考
GSAP动画
使用 GSAP 时间线将动画添加到您的作品中
示例
从常见视频模式的内置示例开始
HTML 架构参考
创作作品的完整架构