当前位置:首页 > CSS

css制作书翻页

2026-04-02 15:48:52CSS

使用CSS制作书翻页效果

要实现书翻页效果,可以利用CSS的transformtransition属性,结合HTML结构创建逼真的翻页动画。以下是两种常见方法:

3D翻页效果

通过CSS 3D变换模拟书本翻页的立体感:

<div class="book">
  <div class="page"></div>
  <div class="page"></div>
</div>
.book {
  perspective: 1000px;
  width: 200px;
  height: 300px;
  position: relative;
}

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

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

关键点:

  • perspective属性定义3D空间的深度
  • transform-origin设置旋转轴心点为左侧边缘
  • rotateY实现横向翻页效果

折角翻页效果

创建类似纸张被折起的扁平化效果:

.page {
  background: linear-gradient(to bottom right, #fff 90%, #eee 100%);
  box-shadow: -5px 5px 10px rgba(0,0,0,0.1);
}

.page:hover {
  transform: 
    rotate(-15deg)
    skewY(-5deg)
    translateX(-10px);
}

进阶技巧

添加阴影增强真实感:

.page::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  height: 100%;
  background: linear-gradient(to left, rgba(0,0,0,0.2), transparent);
  transform: skewY(5deg);
}

多页联动控制:

css制作书翻页

document.querySelectorAll('.page').forEach((page, index) => {
  page.style.transitionDelay = `${index * 0.1}s`;
});

注意事项

  • 在移动端需添加touch事件支持
  • 考虑使用will-change: transform优化性能
  • 复杂场景可结合CSS变量动态控制旋转角度

以上方法可根据实际需求调整尺寸、过渡时间和视觉效果参数。

标签: 翻页css
分享给朋友:

相关文章

css 制作字体

css 制作字体

使用CSS自定义字体 在CSS中,可以通过@font-face规则引入自定义字体,并使用font-family属性应用这些字体。 @font-face { font-family: 'MyCus…

css制作tab菜单

css制作tab菜单

CSS制作Tab菜单的方法 HTML结构 使用无序列表和div容器构建基础结构,列表项为标签页标题,div内放置对应内容块。 <ul class="tab-menu"> <li…

css制作三角形

css制作三角形

使用边框制作三角形 通过设置元素的宽度和高度为0,并利用边框属性,可以创建不同方向的三角形。例如,要创建一个向下的三角形: .triangle-down { width: 0; height…

css模板制作

css模板制作

CSS 模板制作方法 制作 CSS 模板的核心是设计一套可复用的样式规则,适用于多种网页或项目。以下是具体方法: 定义基础样式 设置全局默认样式,包括字体、颜色、边距等。例如: body {…

css样式制作

css样式制作

CSS样式制作基础 CSS(层叠样式表)用于控制网页的视觉呈现。通过CSS可以定义字体、颜色、布局等样式。 选择器与属性 /* 标签选择器 */ p { color: blue; font…

div css制作导航

div css制作导航

导航栏的基本结构 使用HTML的<nav>标签包裹导航链接,内部通常采用无序列表<ul>和列表项<li>结构。示例代码如下: <nav> <…