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

当前位置:主页 > CSS3库 > CSS3动画 > 纯CSS3炫酷3D折叠面板动画特效
纯CSS3炫酷3D折叠面板动画特效
分享:

    插件介绍

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

    浏览器兼容性

    浏览器兼容性
    时间:01-25
    阅读:
简要教程

这是一款纯 CSS3 制作的炫酷3D折叠面板动画特效。这个效果使用3D CSS animations 来制作折叠面板的动画,纯CSS,没有使用javascript。

HTML结构

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

<div id="container">
    <div class="parent1">
        <div class="parent2">
            <div class="parent3">
                <!-- Content goes here -->
            </div>
        </div>
    </div>
</div>
                

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

CSS样式

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

/* Static state */
#container  { 
    width: 400px; 
    height: 400px; 
    position: relative; 
    border: 1px solid #ccc; 
}
.parent1    { 
    /* overall animation container */
    height: 0; 
    overflow: hidden;

    transition-property: height;
    transition-duration: 1s;
    perspective: 1000px;
    transform-style: preserve-3d;
}
.parent2    { 
    /* full content during animation *can* go here */ 
}
.parent3    { 
    /* animated, "folded" block */
    height: 56px; 
    transition-property: all; 
    transition-duration: 1s;
    transform: rotateX(-90deg);
    transform-origin: top; 
}

/* Hover states to trigger animations */
#container:hover .parent1   { 
    height: 111px; 
}
#container:hover .parent3   {
    transform: rotateX(0deg); 
    height: 111px; 
}
                

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