当前位置:首页 > 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 控制页面叠放顺序

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

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

相关文章

css3制作立体效果

css3制作立体效果

使用 transform 属性实现立体旋转 通过 transform-style: preserve-3d 和 rotateX/Y/Z 实现 3D 空间变换: .container { tr…

vue实现突出效果

vue实现突出效果

Vue 实现突出效果的方法 在 Vue 中实现突出效果通常涉及动态样式绑定、动画过渡或第三方库的使用。以下是几种常见实现方式: 动态类名绑定 通过 v-bind:class 或简写 :class 实…

vue效果实现

vue效果实现

Vue 效果实现方法 Vue.js 提供了多种方式实现动态效果,包括过渡动画、状态驱动的 UI 变化以及第三方动画库集成。以下是常见效果的实现方案: 过渡动画 使用 Vue 内置的 <tran…

vue实现凤凰效果

vue实现凤凰效果

Vue 实现凤凰效果 凤凰效果通常指一种视觉动画,模拟凤凰展翅、火焰燃烧等动态效果。在 Vue 中实现这种效果,可以结合 CSS 动画、Canvas 或第三方动画库(如 GSAP)。以下是几种实现方式…

vue实现抽屉效果

vue实现抽屉效果

Vue 实现抽屉效果的方法 使用 Vue 过渡动画和 CSS 在 Vue 中可以通过 v-if 或 v-show 控制抽屉的显示隐藏,结合 <transition> 组件实现平滑动画效果。…

vue 实现动画效果

vue 实现动画效果

Vue 实现动画效果的方法 Vue 提供了多种方式实现动画效果,包括内置的过渡系统、第三方动画库以及 CSS 动画。以下是几种常见的方法: 使用 Vue 内置过渡系统 Vue 的 <trans…