当前位置:首页 > CSS

CSS制作翻书效果

2026-04-01 20:40:02CSS

CSS 翻书效果实现方法

翻书效果可以通过 CSS 3D 变换和动画实现,以下是几种常见的实现方式:

CSS制作翻书效果

基础 3D 翻页效果

.book-page {
  width: 200px;
  height: 300px;
  position: relative;
  perspective: 1000px;
}

.page {
  width: 100%;
  height: 100%;
  position: absolute;
  transform-style: preserve-3d;
  transition: transform 1s;
  transform-origin: left center;
}

.page:hover {
  transform: rotateY(-180deg);
}

完整书本翻页动画

<div class="book">
  <div class="page front">封面</div>
  <div class="page back">封底</div>
</div>
.book {
  width: 200px;
  height: 300px;
  position: relative;
  perspective: 2000px;
}

.page {
  position: absolute;
  width: 100%;
  height: 100%;
  transform-style: preserve-3d;
  transition: transform 1s;
  transform-origin: left center;
}

.front {
  background: #f5f5f5;
  z-index: 2;
}

.back {
  background: #e5e5e5;
  transform: rotateY(180deg);
}

.book:hover .front {
  transform: rotateY(-180deg);
}

.book:hover .back {
  transform: rotateY(0deg);
}

多页翻书效果

.book {
  display: flex;
  perspective: 2000px;
}

.page {
  width: 200px;
  height: 300px;
  background: white;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  transform-style: preserve-3d;
  transition: transform 0.5s;
}

.page:not(:first-child) {
  margin-left: -150px;
}

.book:hover .page {
  transform: rotateY(-180deg);
}

.book:hover .page:nth-child(2) {
  transition-delay: 0.1s;
}

.book:hover .page:nth-child(3) {
  transition-delay: 0.2s;
}

关键实现要点

  • 使用 perspective 属性创建 3D 空间
  • transform-style: preserve-3d 保持子元素的 3D 效果
  • transform-origin 设置旋转中心点
  • 通过 transition@keyframes 实现动画效果
  • 使用 z-index 控制页面叠放顺序

这些方法可以组合使用,根据实际需求调整参数,创建更复杂的翻书效果。

标签: 翻书效果
分享给朋友:

相关文章

vue实现框架效果

vue实现框架效果

Vue 实现框架效果的方法 Vue.js 可以通过多种方式实现框架效果,包括使用内置指令、组件封装或第三方库。以下是几种常见的方法: 使用 Vue 指令实现基础框架效果 通过 Vue 的 v-if、…

uniapp 卡片效果

uniapp 卡片效果

uniapp 实现卡片效果的方法 使用 view 和 CSS 样式 通过 view 组件结合 CSS 样式可以快速实现卡片效果。设置圆角、阴影和边距来增强视觉层次感。 <view cl…

js实现点击效果

js实现点击效果

实现点击效果的JavaScript方法 使用addEventListener绑定点击事件 通过document.getElementById或document.querySelector获取DOM元素…

vue实现过渡效果

vue实现过渡效果

Vue 过渡效果实现方法 Vue 提供了内置的 <transition> 和 <transition-group> 组件,用于在元素或组件进入/离开 DOM 时应用过渡效果。以…

vue实现移动效果

vue实现移动效果

使用 CSS 过渡实现移动效果 在 Vue 中,可以通过 v-bind:class 或 v-bind:style 结合 CSS 过渡实现移动效果。定义一个 CSS 类,包含 transition 属性…

vue实现元素移动效果

vue实现元素移动效果

使用 CSS Transition 实现基础移动 在 Vue 中可以通过数据绑定结合 CSS transition 实现平滑移动效果。定义数据属性控制元素位置,通过修改数据触发动画。 <…