js+css实现故事绘本带翻页过渡动画幻灯片播放代码
代码语言:html
所属分类:幻灯片
代码描述:js+css实现故事绘本带翻页过渡动画幻灯片播放代码
代码标签: js css 故事 绘本 翻页 过渡 动画 幻灯片 播放 代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no"> <title>抖音故事模板 - 翻页动画</title> <style> body, html { margin: 0; padding: 0; height: 100%; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; background-color: #111; display: flex; justify-content: center; align-items: center; overflow: hidden; } .story-player-douyin { width: 360px; height: 640px; background-color: #000; border-radius: 10px; box-shadow: 0 0 20px rgba(255,255,255,0.1); display: flex; flex-direction: column; overflow: hidden; position: relative; } /* --- 翻页动画核心CSS --- */ .image-viewport { flex-grow: 1; position: relative; overflow: hidden; background-color: #222; perspective: 1500px; /* 关键:为子元素创建3D透视效果 */ } .page { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform-style: preserve-3d; /* 允许子元素在3D空间中定位 */ transition: transform 0.8s cubic-bezier(0.4, 0, 0.2, 1); /* 平滑的翻页速度曲线 */ transform-origin: left center; /* 围绕左边缘翻转 */ backface-visibility: hidden; /* 翻转时不显示背面 */ } .page img { width: 100%; height: 100%; object-fit: cover; display: block; position: absolute; /* 使图片填充.page */ top:0; left:0; } /* 当前显示的页面 */ .page.current { z-index: 2; transform: rotateY(0deg); } /* 即将显示的下一页(初始状态在当前页下方) */ .page.next { z-index: 1; transform: rotateY(0deg); /* 初始时和current重叠,但z-index较低 */ } /* 翻页动画 - 当current页面被翻走时 */ .image-viewport.flipping .page.current { transform: rotateY(-180deg) translateX(-100%); /* 向左翻转并移出视野 */ /* translateX(-100%)是为了确保翻转后完全移出,如果transform-origin在左边,可能不需要这个 */ } /* 翻页动画 - 当next页面成为current时(它已经是rotateY(0deg)) */ /* .image-viewport.flipping .page.next - 无需特定变化,它会自然显露 */ /* --- 其他样式(旁白、进度条等基本不变) --- */ .narration-box { position: absolute; bottom: 15%; left: 5%; right: 5%; background-color: rgba(0, 0, 0, 0.6); color: #fff; padding: 12px 15px; border-radius: 8px; font-size: 16px; line-height: 1.5; text-align: center; max-height: 30%; overflow-y: auto; opacity: 0; transform: translateY(20px); transition: opacity 0.5s ease-out 0.3s, transform 0.5s ease-out 0.3s; z-index: 5; /* 确保在图片之上 */ } .narration-box.visible { opacity: 1; transfor.........完整代码请登录后点击上方下载按钮下载查看
网友评论0