HTML5 CSS3制作正方体3D效果

随着HTML5 CSS3的出现和发展,使得我们的网页可以实现更加复杂的效果,也使得我们的浏览体验更加丰富,所以今天我们将制作一个正方体的3D效果:

正方体需要六个面;那么我们就写一个ul列表,里面有六个li分别代表着正方体的六个面,而最外层的ul则可以作为这个正方体的参照物,代码如下:

<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>

我们先对最外层的参照物ul进行设置一下,此处需要一个CSS3的属性:transform-style:preserve-3d; 此属性是将元素放置到3D维度中;

ul设置如代码:

ul{ transform-style:preserve-3d; width:200px; height:200px; border:1px dotted #ccc; margin:200px auto;  }

参照物设置完毕,那么我们就开始制作正方体的六个面;

设置正方体六个面的公共属性:

ul li{ width:200px; height:200px; border:1px solid #000;}

公共属性设置好了;就需要设置每一个不同的面的属性

首先制作正方体的左侧面:

选取第一个li元素进行设置:

运用CSS3的transform将第一个li旋转90度,之后之后沿着Z轴移动-100像素,这时候一个面就制作好了

ul li:nth-of-type(1){ background:#F00; transform:rotateY(90deg) translateZ(-100px);}

同理:右侧面积代码:

ul li:nth-of-type(2){ background:#00F; transform:rotateY(90deg) translateZ(100px);}

然后制作制作正方体上侧的面

不同的是上下面需要沿着X进行旋转

ul li:nth-of-type(3){ background:#FF0; transform:rotateX(90deg) translateZ(100px);}

同理下侧面的代码:

ul li:nth-of-type(4){ background:#0F0; transform:rotateX(90deg) translateZ(-100px);}

上下左右面完毕剩下前后面

前后面此时是不需要旋转的,只需要沿着Z进行移动即可,他们的位置只是前后关系

代码如下:

ul li:nth-of-type(5){ background:#F0F; transform:translateZ(100px);}
ul li:nth-of-type(6){ background:#0FF; transform:translateZ(-100px);}

此时会发现六个面并未组装成我们理想的样子,而是一条竖线排列下来;虽然旋转了。处于3D维度;但是原来的宽高仍然存在占用,此时我们可以将li加入position:absolute;使其脱离标准流;其父级ul需要加上 position:relative

这时li就全部处于ul中,但是我们只能看见一个面,我们可以让这个正方体选装起来,就可以看到3D效果;加一句:

ul:hover{ transform:rotateX(360deg) rotateY(360deg)}

看:将鼠标悬停到正方体上,就看到一个正方体旋转了;

完整代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style>
    *{ padding:0; margin:0; list-style-type:none}
    ul{ transform-style:preserve-3d; width:200px; height:200px; border:1px dotted #ccc; margin:200px auto; transition:all 3s; position:relative}
    ul:hover{ transform:rotateX(360deg) rotateY(360deg)}
    ul li{ width:200px; height:200px; border:1px solid #000; position:absolute}
    ul li:nth-of-type(1){ background:#F00; transform:rotateY(90deg) translateZ(-100px);}
    ul li:nth-of-type(2){ background:#00F; transform:rotateY(90deg) translateZ(100px);}

    ul li:nth-of-type(3){ background:#FF0; transform:rotateX(90deg) translateZ(100px);}
    ul li:nth-of-type(4){ background:#0F0; transform:rotateX(90deg) translateZ(-100px);}

    ul li:nth-of-type(5){ background:#F0F; transform:translateZ(100px);}
    ul li:nth-of-type(6){ background:#0FF; transform:translateZ(-100px);}
</style>
</head>

<body>
<ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
</ul>
</body>
</html>

第一次写,写的不好,见谅!!

时间: 2024-10-12 15:53:19

HTML5 CSS3制作正方体3D效果的相关文章

3D Grid Effect – 使用 CSS3 制作网格动画效果

今天我们想与大家分享一个小的动画概念.这个梦幻般的效果是在马库斯·埃克特的原型应用程序里发现的??.实现的基本思路是对网格项目进行 3D 旋转,扩展成全屏,并呈现内容.我们试图模仿应用程序的行为,因此创建了两个演示,分别演示垂直和水平旋转网格项. 温馨提示:为保证最佳的效果,请在 IE10+.Chrome.Firefox 和 Safari 等现代浏览器中浏览. 您可能感兴趣的相关文章 创意无限!一组网页边栏过渡动画[附源码下载] 真是好东西!13种非常动感的页面加载动画效果 你见过吗?9款超炫的

CSS3制作的3D阴影效果

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>CSS3制作的3D阴影效果</title> <style> /* ----------- Reset ----------- */ * { margin: 0; paddi

如何使用 HTML5 Canvas 制作水波纹效果

原文:如何使用 HTML5 Canvas 制作水波纹效果 今天,我们继续分享 JavaScript 实现的效果例子,这篇文章会介绍使用 JavaScript 实现水波纹效果.水波效果以图片为背景,点击图片任意位置都会触发.有时候,我们使用普通的 Javascript 就可以创建一个很有趣的解决功能. 在线演示      源码下载 Step 1. HTML 和以前一样,首先是 HTML 代码: <!DOCTYPE html> <html> <head> <meta

使用HTML5/CSS3制作便签贴

利用HTML5/CSS3,仅用5步就可以制作便签贴效果的HTML页面,效果图如下: (注:图里的文字纯属杜撰,搞笑目的,如有雷同,纯属巧合,谢谢!) 注:该效果可以在Safari, Chrome,Firefox和Opera在看到效果,IE上由于对HTML5的支持不完全,所以看不出效果. 第一步:创建基本HTML和正方形 首先添加基本的HTML结构以及构建基本的正方形,代码如下: XML/HTML Code复制内容到剪贴板 <ul> <li><a href=”#”> &l

学习使用 jQuery &amp; CSS3 制作照片堆栈效果

在这个小实验中,我们使用 jQuery & CSS3 创建了一个交互式的照片堆栈效果.提供了一些模拟现实的互动的可能性给用户.这个想法的思路是:有一些照片在桌面上可以拖放一样,堆放和删除,每个动作类似现实世界的行为. 在线演示      源码下载 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富美型

纯CSS3制作的圆角效果按钮菜单

<!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>纯CSS3制作的圆角效果按钮菜单丨曲阳雕塑</title> <style type="text/css"> nav{display: block; width: 100%; ov

分享9款用HTML5/CSS3制作的动物人物动画

1.纯CSS3绘制可爱的蚱蜢 还有眨眼动画 今天我们要分享一个利用纯CSS3绘制的蚱蜢动画,非常可爱. 在线演示 源码下载 2.HTML5 Canvas头发飘逸动画 很酷的HTML5动画 HTML5 Canvas动画非常炫酷,很多有创意的开发者可以利用HTML5的Canvas特性创造出很多不错的动画特效.今天我们要分享一款HTML5 Canvas头发飘逸动画,该动画模拟头发飘动的效果,加上可爱的人脸,可以说非常有技术含量,更富有创意. 在线演示 源码下载 3.HTML5/SVG实现随风摇摆的动画

纯CSS3制作的“Ribbons”效果

在看具体每个demo之前,我们一起来看下面一个截图: 上图是一个典型的“Ribbons”各部位的示意图,但每一个“Ribbons”并不会都使用上图示意的各个部分,在下面的实例中大家可以明显的看 到或者说感受到.别的我就不多说了,我想上图能示意出“Ribbons”各个部位.那么每个部位我们可以使用一个“html”标签,当然有了CSS3的伪 元素“::before”和“::after”后,我们可以省去一些标签. 效果一: HTML Markup <div class="ribbons"

基于HTML5/CSS3可折叠的3D立方体动画

今天要给大家带来另外一款CSS3 3D立方体动画,尤其在DEMO2中可以看到,鼠标滑过立方体后,它将会被打开,从里面弹出另外一个小立方体,动画效果非常酷,非常逼真. 在线预览   源码下载 实现的代码. html代码: <div class="content bgcolor-1"> <h2 class="center"> Depth Cube</h2> <div style="height: 300px; marg