图片/图形

纯CSS3炫酷3D折叠面板动画特效

阿里云


这是一款效果非常炫酷的 3D 折叠面板动画特效。该折叠面板特效当鼠标移动到图片上时,一个面板会以 3d 折叠的方式在顶部展开,并显示图片的标题等信息。这个效果使用 3D CSS animations 来制作折叠面板的动画,纯 CSS,没有使用 javascript。

HTML 结构

折叠面板的 html 结构使用一个嵌套的 div 结构。内容需要放置在正确的地方。

也想出现在这里?联系我们
创客主机
  1. <div id="container">
  2.     <div class="parent1">
  3.         <div class="parent2">
  4.             <div class="parent3">
  5.                 <!-- Content goes here -->
  6.             </div>
  7.         </div>
  8.     </div>
  9. </div>

第一个 divparent1 将被设置为 3D 状态。第二级 div 包含所有在动画时的可视代码。第三级 div 用于设置折叠面对动画的内容。

CSS 样式

该折叠面板动画完整的 CSS 代码十分有意思,可能会与你想象的有所不同。

  1. /* Static state */
  2. #container  { 
  3.     width: 400px; 
  4.     height: 400px; 
  5.     position: relative; 
  6.     border: 1px solid #ccc; 
  7. }
  8. .parent1    { 
  9.     /* overall animation container */
  10.     height: 0; 
  11.     overflow: hidden;
  12.  
  13.     transition-property: height;
  14.     transition-duration: 1s;
  15.     perspective: 1000px;
  16.     transform-style: preserve-3d;
  17. }
  18. .parent2    { 
  19.     /* full content during animation *can* go here */
  20. }
  21. .parent3    { 
  22.     /* animated, "folded" block */
  23.     height: 56px; 
  24.     transition-property: all; 
  25.     transition-duration: 1s;
  26.     transform: rotateX(-90deg);
  27.     transform-origin: top; 
  28. }
  29.  
  30. /* Hover states to trigger animations */
  31. #container:hover .parent1   { 
  32.     height: 111px; 
  33. }
  34. #container:hover .parent3   {
  35.     transform: rotateX(0deg); 
  36.     height: 111px; 
  37. }

静止状态的 parent1 被设置为 3D transform 和 perspective 状态,动画从高度为 0 像素开始。parent3 使用 transition 和 transformation 来设置旋转动画。当鼠标滑过 parent1 时,parent3 的高度转换为完整的高度,在这个 demo 中是 111px,角度被旋转到 0 度。

纯 CSS3 炫酷 3D 折叠面板动画特效

已有 545 人购买
查看演示升级 VIP立刻购买

演示地址 下载地址
收藏
(0)

发表回复

热销模板

Ashade - 作品展示摄影相册WordPress汉化主题
LensNews

本站承接 WordPress / PbootCMS / DedeCMS 等
系统建站、仿站、开发、定制等业务!