程序员

css transform 翻页动画记录的实现

作者:admin 2021-04-13 我要评论

翻页问题场景 B和C是同一页(正反两面) 当想要翻页覆盖 A 时,B、C 需要同时翻页才能覆盖A,显示D。 B、C 不能写在同一个盒子里 错误例子: div class=pagesBox...

在说正事之前,我要推荐一个福利:你还在原价购买阿里云、腾讯云、华为云服务器吗?那太亏啦!来这里,新购、升级、续费都打折,能够为您省60%的钱呢!2核4G企业级云服务器低至69元/年,点击进去看看吧>>>)

翻页问题场景

B和C是同一页(正反两面)

当想要翻页覆盖 A 时,B、C 需要同时翻页才能覆盖A,显示D。

B、C 不能写在同一个盒子里

错误例子:

<div class="pagesBox A"></div>
<div class="pagesBox">
  <div class="B"></div>
  <div class="C"></div>
</div>
<div class="pagesBox D"></div>

正确例子:

<main>
  <div class="pagesBox A"></div>
  
  <div class="pagesBox B"></div>
  <div class="pagesBox C">
    <div>内容</div>
  </div>

  <div class="pagesBox D"></div>
</main>

为什么不使用一个盒子包裹 B、C,使他们翻转就可以了?

答案在下面。

B 需要设置

.B{
  backface-visibility: hidden;
}

backface-visibility: hidden; 这个属性是让B的 背面 隐藏。

并且让 B、C 重叠,使用绝对定位进行重叠。

C 需要设置

.C > div{
  transform: rotateY(-180deg);
}

因为正常内容是显示正面的,我们需要把 C 的内容翻转到背面。让它看起来像是 纸张 背面

回到上面的问题,为什么不使用一个盒子

因为包裹 B、C 的盒子进行翻转时,B 设置背面隐藏是无效的。只有让 B 进行翻转,才能让 B 的背面隐藏起来。显示背面的 C。

接着对B、C进行动画翻页。

main{
  perspective: 1800;
  transform-style: preserve-3d;
}

.B,.C{
  transition: transform 1s;
  
  &.On{
    transform: rotateY(180deg);
  }
}

到此这篇关于css transform 翻页动画记录的实现的文章就介绍到这了,更多相关css翻页动画内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!


原文链接:https://m.jb51.net/css/755101.html

版权声明:本文转载自网络,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本站转载出于传播更多优秀技术知识之目的,如有侵权请联系QQ/微信:153890879删除

相关文章
  • 四两拨千斤——你不知道的VScode编码Ty

    四两拨千斤——你不知道的VScode编码Ty

  • 我是如何在 Vue 项目中做代码分割的

    我是如何在 Vue 项目中做代码分割的

  • position:sticky 粘性定位的几种巧妙应

    position:sticky 粘性定位的几种巧妙应

  • 从零到一搭建React组件库

    从零到一搭建React组件库

腾讯云代理商
精彩导读
海外云服务器
热门资讯
腾讯云代理商