CSS3D效果

效果如本博客中右边呢个浅色框框,来自webpack首页(IE绕路0_0)

github地址:http://wjf444128852.github.io/demo02/css3/css3d/

思路:

1、关键是父元素ul的这2个属性

  a:transform-style: preserve-3d; 

  b:transform: rotateX(-33.5deg) rotateY(45deg);

让ul先有点偏移旋转的效果!

2、分别让每个li相对于ul前后左右上下位移一定距离是li宽度的一半,6个面上的li的背景色是从中间向四周的渐变色

3、最下面的li当作阴影,需要特殊处理

4、定义动画帧让ul执行注意animation的参数和兼容性

/*animation: name duration timing-function delay iteration-count direction;*/
/*name 规定需要绑定到选择器的 keyframe 名称。。*/
/*duration 规定完成动画所花费的时间,以秒或毫秒计。*/
/*timing-function 规定动画的速度曲线。*/
/*delay 规定在动画开始之前的延迟。*/
/*iteration-count 规定动画应该播放的次数。*/
/*direction 规定是否应该轮流反向播放动画。*/

撸码如下

HTML

<div class="will_rotate">
        <ul class="rotate_parent">
            <li class="tip_front"></li>
            <li class="tip_back"></li>
            <li class="tip_right"></li>
            <li class="tip_left"></li>
            <li class="tip_top"></li>
            <li class="tip_bottom"></li>
            <li class="tip_floor"></li>
        </ul>
   </div>

CSS

.will_rotate{
    width: 150px;
    height: 150px;
    margin: 0 auto;
    position: relative;
}
.rotate_parent, .rotate_parent li {
    position: absolute;
    display: block;
}
.rotate_parent{
    width: 100%;
    height: 100%;
    padding: 0;
    /*margin: -50px 0;*/
    -webkit-transform-origin: 50px 50px;
    transform-origin: 50px 50px;
    -webkit-transform: rotateX(-33.5deg) rotateY(45deg);
    transform: rotateX(-33.5deg) rotateY(45deg);
    -webkit-transform-style: preserve-3d;
     transform-style: preserve-3d;
     -webkit-animation: willRotate 3s ease-in-out infinite 2s;
     animation: willRotate 3s ease-in-out infinite alternate;
     /*animation: name duration timing-function delay iteration-count direction;*/
        /*name    规定需要绑定到选择器的 keyframe 名称。。*/
           /*duration    规定完成动画所花费的时间,以秒或毫秒计。*/
          /*timing-function    规定动画的速度曲线。*/
         /*delay    规定在动画开始之前的延迟。*/
        /*iteration-count    规定动画应该播放的次数。*/
        /*direction    规定是否应该轮流反向播放动画。*/
    top: 20%;
    /*left: 50%;*/
}

.rotate_parent .tip_back, .rotate_parent .tip_front, .rotate_parent .tip_left, .rotate_parent .tip_right, .rotate_parent .tip_top {
    background: radial-gradient(transparent 30%,rgba(126,17,91,.2) 100%);
}
.rotate_parent li {
    width: 100px;
    height: 100px;
     transition: -webkit-transform 1s ease-in-out;
     transition: transform 1s ease-in-out;
}
.rotate_parent .tip_front {
    -webkit-transform: translateZ(50px);
     transform: translateZ(50px);
}
.rotate_parent .tip_back {
    -webkit-transform:translateZ(-50px);
    transform:translateZ(-50px);
}
.rotate_parent .tip_right {
    -webkit-transform: rotateY(90deg) translateZ(50px);
    transform: rotateY(90deg) translateZ(50px);
}
.rotate_parent .tip_left {
    -webkit-transform: rotateY(90deg) translateZ(-50px);
    transform: rotateY(90deg) translateZ(-50px);
}
.rotate_parent .tip_top {
    -webkit-transform: rotateX(90deg) translateZ(50px);
    transform: rotateX(90deg) translateZ(50px);
}
.rotate_parent .tip_bottom{
    -webkit-transform: rotateX(90deg) translateZ(-50px);
    transform: rotateX(90deg) translateZ(-50px);
}
.rotate_parent .tip_floor {
    box-shadow: -300px 0 50px rgba(0,0,0,.3);
    -webkit-backface-visibility: visible;
    backface-visibility: visible;
    width: 110px;
    height: 110px;
    left: 295px;
    background-color: transparent;
    -webkit-transform: rotateX(90deg) translateZ(-60px);
    transform: rotateX(90deg) translateZ(-60px);
}
@-webkit-keyframes willRotate{
    0%{
        transform:rotateX(-33.5deg) rotateY(45deg);
    }
    100%{
        transform:rotateX(-33.5deg) rotateY(360deg);
    }
}
@keyframes willRotate{
    0%{
        transform:rotateX(-33.5deg) rotateY(45deg);
    }
    100%{
        transform:rotateX(-33.5deg) rotateY(360deg);
    }
}
时间: 2024-12-22 02:27:57

CSS3D效果的相关文章

H5打造3d场景不完全攻略(二): Amazing CSS3D

前言 对的,本文就是着重介绍如何使用CSS3中的3D变换打造出H5中的3D效果.灵感来源于造物节团队的3d引擎,因为使用方法比较复杂,也没有开源的API文档,于是想自己另外造个轮子,便开始了相关内容的学习和实践.众所周知,目前市面上的H5 3D类库(如Three).引擎(Egret).构建工具(kpano.720云)都或存在体积太大.不开源.非免费.学习成本高等问题.对于我们较为熟悉的CSS3,为什么就不对它好好利用一把呢?诚然,CSS3存在我们比较清楚的短板,CSS对平面的渲染能力高,但是对3

Photoshop打造另类脸面撕裂效果教程

今天我们就来教大家如何制作出这种撕裂的效果! 教程附上反相效果: 接下来我们开始讲解如何制作出这种效果,现在大家先准备好一张美女图片,然后跟着我们的步骤一步步的操作下去,最后你就能得到你想要的效果了! 第1步:打开素材图片,解锁背景图层.然后还要将画布调大些:点击菜单[图像],[画面大小],在原有的数值上各加大一些,如图示.之后在该图层下方新一个白色填充层. 第2步:载入图像选区(Ctlr+单击图像图层),新建并填充黑色图层,位于图像下方.然后再将该层向右下移动若干像素,变形,如图.拉开右下角,

PhotoShop为照片添加梦幻光斑效果教程

photoshop教程梦幻光斑效果和形状是怎么形成的呢? 小编先向大家介绍一下光斑的拍摄吧! 其实圆形的大光斑是镜头光圈全打开时就会形成的.而收缩光圈时,有多少瓣光圈叶片就会形成多少角型的光斑.所以,如果是五瓣光圈叶片的,就只能形成五边形的光斑了.但是,有些镜头光圈叶片做得很圆,在收缩光圈的时候也会形成圆形光斑.而半圆形光斑,这是属于一种叫"口径蚀"的情形,通常发生在照片的边缘,尤其是大光圈镜头容易出现.有人认为这是镜头的一种先天缺陷. 但是,在很多情况下,我们的机器又或者是环境的因素

ps把照片处理成素描手绘效果

教程教朋友们用ps把照片处理成素描手绘效果,教程其实大致和手绘效果的制作很类似.就是加上一些简单的线条勾勒即可作出效果了.先来看看效果图: 教程素材: 具体的制作步骤如下: 步骤1 打开素材,ctrl+shift+u去色或者图像>调整>去色: 步骤2 图像>调整>色阶,数值如图: 看看你现在的效果是否跟这里的效果一样: 步骤3 分类: PS图片处理

PS为照片添加逼真的雪花飘飞的效果教程

原图 效果 1.打开原图,复制一层,选择图像-调整-去色. 2.图像-调整-变化,加深青色和深蓝色. 3.滤镜-杂色-添加杂色,数量:8%,分布选择:高斯分布. 4.把图层混合模式改为"柔光",不透明度为:80%,合并. 5.新建一个图层,填充黑色. 6.选择合造大小的画笔并如右图进行调整,用来制作雪花. 7.用画笔涂出雪花的形状. 8.滤镜-杂色-添加杂色,数量:4%,分布选择:平均分布,再把本图层混合模式改为"滤色". 9.滤镜-模糊-动感模糊,角度:-48度,

PS为雪景照片添加浪漫飘飞的雪花效果教程

优秀作品欣赏 精湛的摄影技术,在加上后期的修饰点缀,才算是一幅完整的作品哦! 今天小编要教大家如何用PS打造朦胧雪景的浪漫冬季 效果对比图 分类: PS图片处理

PS把生活照片转为卡通插画效果

如图4-237所示,为制作前后效果对比. 图4-237 制作前后效果对比 技术要点 本节重点介绍"阴影线"."深色线条"."影印"和"强化边缘"滤镜的应用技巧以及图层"混合模式"的应用. 图4-238所示为本实例的制作概览图. 图4-238 制作概览 制作步骤 (1)运行Photoshop,执行"文件"→"新建 图4-239 设置"新建"对话框 (2)在菜单

PhotoShop制作一个怀旧老照片效果教程

效果 我们先打开素材,这里使用的是小女孩,下载地址 转到滤镜>纹理>纹理化,缩放71%,凸显1.如下图: 分类: PS图片处理

Photoshop调出外景偏青照片唯美场景效果

  红外一直带给我很多神秘向往,不同波段,不同天气,不同材质拍摄出来的色彩各不同.用红外拍摄人像是个挑战,然而针对这样的片子,后期应该怎么调整才合适呢? 今天带来一期PS红外人像教程,一起体会那种特殊意境美. 1.对比图和思路分析 原图分析:阴天,红外色彩比较单一,偏青,还原现场氛围,及调整色彩,将树叶调整成雪白色,调整肤色及整体色调,逆光渲染,形成冷暖对比. 主要利用曲线来较正色彩. 拍摄数据: Canon PowerShot A2000 卡片机拍摄.红外波段590.天气:阴. 2.颜色倾向调