当前位置:首页 > CSS

CSS制作翻书效果

2026-01-28 17:23:02CSS

CSS翻书效果实现方法

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

CSS制作翻书效果

基础3D翻页效果

.book-page {
  width: 200px;
  height: 300px;
  position: relative;
  transform-style: preserve-3d;
  transition: transform 1s;
}

.page {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}

.front {
  background: white;
  transform: rotateY(0deg);
}

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

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

立体书页效果

<div class="book">
  <div class="page"></div>
  <div class="page"></div>
</div>
.book {
  perspective: 2000px;
  width: 300px;
  height: 400px;
}

.page {
  width: 100%;
  height: 100%;
  position: absolute;
  background: white;
  border: 1px solid #ccc;
  transform-origin: left center;
  transition: transform 0.8s ease;
}

.page:nth-child(1) {
  z-index: 2;
}

.page:nth-child(2) {
  z-index: 1;
}

.book:hover .page:nth-child(1) {
  transform: rotateY(-160deg);
}

多页连续翻动效果

@keyframes flip {
  0% { transform: rotateY(0); }
  100% { transform: rotateY(-180deg); }
}

.page-container {
  animation: flip 2s infinite alternate;
  transform-style: preserve-3d;
}

阴影增强真实感

.page {
  box-shadow: 
    5px 5px 10px rgba(0,0,0,0.1),
    inset 0 0 20px rgba(0,0,0,0.05);
}

.book:hover .page {
  box-shadow: 
    15px 5px 30px rgba(0,0,0,0.2),
    inset -5px 0 20px rgba(0,0,0,0.1);
}

注意事项

  • 确保父容器设置perspective属性以获得3D效果
  • 使用transform-style: preserve-3d保持子元素3D空间
  • backface-visibility: hidden可隐藏背面内容
  • 调整transform-origin可改变翻转轴心点
  • 结合JavaScript可实现更复杂的交互控制

这些方法可以单独使用或组合使用,根据实际需求调整参数即可实现不同风格的翻书效果。

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

相关文章

jquery 效果

jquery 效果

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画和 Ajax 交互。jQuery 提供了丰富的效果(Effects)功能,可以轻松实现元素的动态显…

vue实现tag效果

vue实现tag效果

实现基本标签结构 使用 Vue 的模板语法创建标签容器和单个标签元素。通过 v-for 动态渲染标签列表,结合 v-bind:key 确保渲染性能。 <template> <…

vue实现拖动效果

vue实现拖动效果

使用 vuedraggable 库实现拖动 vuedraggable 是基于 Sortable.js 的 Vue 组件库,提供简单易用的拖拽功能。安装方式如下: npm install vuedra…

vue实现移动效果

vue实现移动效果

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

vue实现联动效果

vue实现联动效果

Vue 实现联动效果的方法 联动效果通常指一个组件的值变化时,另一个组件的值或状态随之变化。以下是几种常见的实现方式: 使用 v-model 和计算属性 通过 v-model 绑定数据,结合计算属性…

vue实现爆炸图效果

vue实现爆炸图效果

实现爆炸图效果的方法 爆炸图(Exploded View)常用于展示产品或组件的拆解效果,以下是基于Vue的实现方案: 使用CSS 3D变换实现基础爆炸效果 通过CSS的transform属性控制元…