3D效果-HTML+CSS

本文使用图片均为500px*500px

如图

代码如下:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title></title>
    <style type="text/css">
    	*{
    		padding: 0px;
    		margin: 0px;
    	}
    	body {
    		height: 100%;
    		width: 100%;
    	}
        #leftDiv {
        	margin:50px auto;
            width: 100%;
            height: 500px;
            -webkit-perspective: 800;
            -moz-perspective: 800;
            -moz-perspective-origin: 50% 50%;
        }

        #stage {
            width: 100%;
            height: 100%;
            -webkit-perspective: 800; /*Z轴呈现距离*/
            -moz-perspective: 800;
            -webkit-perspective-origin: 100% 50%; /*Z轴固定时 x 和 y的呈现方式 默认在元素平面的中心50% 50%*/
            -moz-perspective-origin: 50% 50%;
            -webkit-transform-style: preserve-3d; /*3D呈现*/
            -moz-transform-style: preserve-3d;
            -webkit-transition: -webkit-transform 2s;
            -moz-transition: -webkit-transform 2s;
        }

        #shape {
            position: relative;
            top: 160px;
            margin: 0 auto;
            height: 200px;
            width: 200px;
            -webkit-transform-style: preserve-3d; /*3D形式呈现*/
            -moz-transform-style: preserve-3d;
            transform-style: preserve-3d;
        }

        .plane {
            position: absolute;
            left: 0;
            top: 0;
            height: 200px;
            width: 200px;
            border: 1px solid white;
            /*-webkit-border-radius: 50px;
            -moz-border-radius: 50px;
            border-radius: 50px;*/
            -webkit-box-sizing: border-box;
            -moz-box-sizing: border-box;
            box-sizing: border-box;
            text-align: center;
            font-family: Times, serif;
            font-size: 14px;
            color: black;
            background-color: rgba(67, 181, 180, 0.60);
            -webkit-transition: -webkit-transform 2s, opacity 2s;
            -moz-transition: -webkit-transform 2s, opacity 2s;
            -webkit-backface-visibility: visible; /*是否呈现元素的背面*/
            -moz-backface-visibility: visible;
        }

        .one {
            opacity: 0.5;
            -webkit-transform: scale3d(1.2, 1.2, 1.2) rotateX(90deg) translateZ(100px); /*3D变化遵循先后顺序 如果是多次变化需要按照 后面的需要根据前一次变化的结果再重新定义*/
            -moz-transform: scale3d(1.2, 1.2, 1.2) rotateX(90deg) translateZ(100px);
        }

        .two {
            opacity: 0.5;
            -webkit-transform: scale3d(1.2, 1.2, 1.2) translateZ(100px);
            -moz-transform: scale3d(1.2, 1.2, 1.2) translateZ(100px);
        }

        .three {
            opacity: 0.5;
            -webkit-transform: scale3d(1.2, 1.2, 1.2) rotateY(90deg) translateZ(100px);
            -moz-transform: scale3d(1.2, 1.2, 1.2) rotateY(90deg) translateZ(100px);
        }

        .four {
            opacity: 0.5;
            -webkit-transform: scale3d(1.2, 1.2, 1.2) rotateY(180deg) translateZ(100px);
            -moz-transform: scale3d(1.2, 1.2, 1.2) rotateY(180deg) translateZ(100px);
        }

        .five {
            opacity: 0.5;
            /*-webkit-transform: scale3d(1.2, 1.2, 1.2) rotateY(-90deg) translateZ(100px);
            -moz-transform: scale3d(1.2, 1.2, 1.2) rotateY(-90deg) translateZ(100px);*/
            -webkit-transform: scale3d(1.2, 1.2, 1.2) rotateY(90deg) translateZ(-100px);
            -moz-transform: scale3d(1.2, 1.2, 1.2) rotateY(90deg) translateZ(-100px);
        }

        .six {
            opacity: 0.5;
            /*-webkit-transform: scale3d(1.2, 1.2, 1.2) rotateX(-90deg) translateZ(100px) rotate(180deg);
            -moz-transform: scale3d(1.2, 1.2, 1.2) rotateX(-90deg) translateZ(100px) rotate(180deg);*/
            -webkit-transform: scale3d(1.2, 1.2, 1.2) rotateX(90deg) translateZ(-100px);
            -moz-transform: scale3d(1.2, 1.2, 1.2) rotateX(90deg) translateZ(-100px);
        }

        #shape img {
            width: 200px;
            height: 200px;
            /*border-radius: 50px;*/
        }

        #shape.backfaces .plane {
            -webkit-backface-visibility: visible;
            /*-webkit-backface-visibility: visible;*/
            -moz-backface-visibility: visible;
        }

        .cddd {
            -webkit-animation: spin 7s infinite linear;
            -moz-animation: spin 7s infinite linear;
        }

        @-webkit-keyframes spin {
            from {
                -webkit-transform: rotateX(0) rotateY(0);
                -moz-transform: rotateX(0) rotateY(0);
            }

            to {
                -webkit-transform: rotateX(360deg) rotateY(360deg);
                -moz-transform: rotateX(360deg)rotateY(360deg);
            }
        }
    </style>
</head>
<body>
    <div id="leftDiv">
        <div id="stage">
            <div id="shape" class="cddd">
                <div class="plane one"><img src="images/1.png"></div>
                <div class="plane two"><img src="images/2.png"></div>
                <div class="plane three"><img src="images/3.png"></div>
                <div class="plane four"><img src="images/4.png"></div>
                <div class="plane five"><img src="images/5.png"></div>
                <div class="plane six"><img src="images/6.png">
                </div>
            </div>
        </div>
    </div>
</body>
</html>
时间: 2024-07-29 17:20:02

3D效果-HTML+CSS的相关文章

纯css实现照片墙3D效果

每张照片都有美丽的故事.美好的回忆.家居中的照片墙则帮你展现出这些承载着家庭重要记忆的照片,除了用画框装饰照片挂在墙上外,照片墙还可以演变为手绘照片墙.也经常在网上看到一些关于照片墙的特效案例,决定自己动手试试. v直接上代码 这篇博客呢就是演示一个照片墙的效果.所以废话不多说,直接上代码然后展示特效.有兴趣的道友可以自己练练手试试.也可以改动改动其中的属性多玩玩,自己测试的时候建议用美女的照片,绝对"乐在其中". 1.准备材料:  准备材料就是没什么材料,自己麻溜赶快的去:百度找几张

css3 3d效果及动画学习

css参考手册: http://www.phpstudy.net/css3/ http://www.css88.com/book/css/ 呈现3d效果:-webkit-transform-style:preserve-3d; 透视距离:-wenkit-perspective:300; 视角:-webkit-perspective-origin:25% 75%:/*数字正负均可*/ 旋转和变换:transform: translatex(-90px) translatez(90px) rotat

网页3D效果库Three.js初窥

网页3D效果库Three.js初窥 背景 一直想研究下web页面的3D效果,最后选择了一个比较的成熟的框架Three.js下手 ThreeJs官网 ThreeJs-github; 接下来我会陆续翻译 Three.js官网的文档,部分文字和代码为我个人添加. 第一部分:three.js介绍 创建场景 这部分的目标是为Three.js做一个简单的介绍,我们会以创建一个场景,一个旋转的立方里开始,文章的结尾会有一个可运行的完整示例为你解惑. 开始之前 在你使用Three.js之前,你需要在你的电脑上建

CSS3打造3D效果——perspective transform的深度剖析

声明:此篇博文虽是自己手写,但大量资源取自 张鑫旭 的博文.想看更详细 更专业的剖析请看张鑫旭的博文. 昨天对css3的transform做了初步的分析和认识,突然看到perspective属性,调了半天没看出任何效果,于是开始百度... ... 度了半天发现perspective这玩意是做3D效果的,但为甚我做demo楞没看出perspective加上去有任何3D.拜读过 张鑫旭 的博文后才了解perspective是透视(学美术,建筑的肯定懂,不懂得我也解释的不专业,个人理解为景深).既然p

CSS3,3D效果轮播图

---恢复内容开始--- 大家还记得我昨天的3D拖拽立方体吗??我昨天还说过css还可以做轮播图,所以咱们今天就写一下,css的轮播图吧! ....这个轮播图主要是用CSS3里的transform的旋转属性来完成3D效果的,然后配合原生js的显示隐藏,达到了3D旋转轮播图的效果: <!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content="text/ht

CSS3实现3D效果的图片墙

先来看一下效果:http://1.huizit1.applinzi.com/CSS/transform_3D/img_3D.html 布局结构: <div class="container"> <img src="../Img/1.jpg"> <img src="../Img/2.jpg"> <img src="../Img/3.jpg"> <img src=".

CSS3 03. 3D变换、坐标系、透视perspective、transformZ、transform-style添加3D效果、backface-visibility元素背面可见、动画animation、@keyfarmes、多列布局

1.左手坐标系 伸出左手,让拇指和食指成"L"形,大拇指向右,食指向上,中指指向前方.这样我们就建立了一个左手坐标系,拇指.食指和中指分别代表X.Y.Z轴的正方向.如下图 CSS中的3D坐标系 CSS3中的3D坐标系与上述的3D坐标系是有一定区别的,相当于其绕着X轴旋转了180度,如下图 左手法则 左手握住旋转轴,竖起拇指指向旋转轴正方向,正向就是其余手指卷曲的方向. 透视 perspective perspective:400px: 电脑显示屏是一个2D平面,图像之所以具有立体感(3

3d效果的图片轮播

CSS3的3d变换 CSS3给我们提供了一个新的功能,那就是3d变换.3d变换和2d变换的基本API函数类似,只不过多了些在Z轴上的操作,不难使用. 但是,为了让元素拥有3d变换的功能,我们需要给他的父元素设置相应的变换属性.与其相关的属性为perspective和transform-style.在新版的Chrome中已不需要添加私有前缀,不过为了兼容之前版本的浏览器,建议还是加上私有前缀(本例中并未添加私有前缀). perspective属性取值为:none|number.当值为数字时,意味着

CSS 3D transform(CSS的3D变换)

src1:好吧,CSS3 3D transform变换,不过如此! 评价:图文并茂地解释 CSS 3D transform 的基本概念及原理,超级通俗易懂,读后简直醍醐灌顶啊!!!幽默的程序员 笔记: 一.4个概念 1.突破口:三个方法  3D transform 中的三个方法: (1)rotateX(angle):正面推倒 (2)rotateY(angle):左右转 (3)rotateZ(angle):横抱躺着 2.必不可少的perspective(透视.视角) 没透视,不3D CSS 3D