CSS3构建的3D盒子之导航应用

1.在用css3构建的盒子表面,放上iframe,来加载导航页面。

2.鼠标左键按下移动可旋转盒子,寻找想要的网址。

3.左键单机盒子表面,将全屏现实所点盒子表面的网站[iframe中],并可浏览,关闭后返回原来状态。

4.PC端,将额外显示2个css3做的旋转盒子[没什么意义]

5.移动端只显示一个导航盒子[模拟器正常,真机无效,留待以后查看,兼容开发有待提高。。。]

注:原本打算排列导航盒子,这样的话导航也变得比较好玩

但是,如果使用iframe来显示网站预览的话,速度太慢,太耗内存

尝试过用html2canvas,但是由于跨域问题,直接被灭

解决方法:通过服务器返回较实时的网站预览图的方式显示

---

可执行代码下载地址

http://download.csdn.net/detail/wangxsh42/8522151

---

效果图

PC端:

[应用][js+css3]3D盒子导航[PC端] [应用][js+css3]3D盒子导航[PC端]

[应用][js+css3]3D盒子导航[PC端] [应用][js+css3]3D盒子导航[PC端]

在线:

http://wangxinsheng.herokuapp.com/3dboxHome

代码段:

1.css3盒子构建:

html:

 1 <div class="cubeOut" style="left:25%;top:35%">
 2     <div class='cube move'>
 3         <div class='face'><iframe scrolling="no" loaded="0" url=""></iframe><div class="label"></div><div class="over"></div></div>
 4         <div class='face'><iframe scrolling="no" loaded="0" url=""></iframe><div class="label"></div><div class="over"></div></div>
 5         <div class='face'><iframe scrolling="no" loaded="0" url=""></iframe><div class="label"></div><div class="over"></div></div>
 6         <div class='face'><iframe scrolling="no" loaded="0" url=""></iframe><div class="label"></div><div class="over"></div></div>
 7         <div class='face'><iframe scrolling="no" loaded="0" url=""></iframe><div class="label"></div><div class="over"></div></div>
 8         <div class='face'><iframe scrolling="no" loaded="0" url=""></iframe><div class="label"></div><div class="over"></div></div>
 9     </div>
10 </div>

css3:

 1 .cubeOut{
 2   height: 100%;
 3   left: 50%;
 4   margin-left: -10em;
 5   margin-top: -10em;
 6   -webkit-perspective: 1000px;
 7   -ms-perspective: 1000px;
 8   perspective: 1000px;
 9   position: absolute;
10   top: 50%;
11   width: 100%;
12   }
13 .cube {
14   height: 100%;
15   position: absolute;
16   -webkit-transform-style: preserve-3d;
17   -ms-transform-style: preserve-3d;
18   transform-style: preserve-3d;
19   width: 100%;
20   transform: rotateX(-35deg) rotateY(35deg);
21 }
22 .cubeOut .move{ -webkit-animation: 6s spin linear infinite;
23   animation: 6s spin linear infinite;}
24 .cube * {
25   border: 2px solid rgba(54, 226, 248, 0.5);
26   display: block;
27   height: 100%;
28   position: absolute;
29   width: 100%;
30 }
31 .face {
32   cursor:pointer;
33   height: 100%;
34   position: absolute;
35   width: 100%;
36 }
37 .face:nth-child(1) {
38   transform: rotateY(0deg) translateZ(150px);
39   background: rgba(255, 102, 102, 0.75);
40 }
41 .face:nth-child(2) {
42   transform: rotateY(90deg) translateZ(150px);
43   background: rgba(179, 255, 102, 0.75);
44 }
45 .face:nth-child(3) {
46   transform: rotateY(180deg) translateZ(150px);
47   background: rgba(102, 255, 255, 0.75);
48 }
49 .face:nth-child(4) {
50   transform: rotateY(270deg) translateZ(150px);
51   background: rgba(178, 102, 255, 0.75);
52 }
53 .face:nth-child(5) {
54   transform: rotateX(90deg) translateZ(150px);
55   background: rgba(178, 102, 255, 0.75);
56 }
57 .face:nth-child(6) {
58   transform: rotateX(-90deg) translateZ(150px);
59   background: rgba(178, 102, 255, 0.75);
60 }
61 @keyframes spin {
62   from {
63     -webkit-transform: translateZ(-10em) rotateX(0) rotateY(0deg);
64     transform: translateZ(-10em) rotateX(0) rotateY(0deg);
65   }
66 
67   to {
68     -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
69     transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
70   }
71 }
72 @-webkit-keyframes spin {
73   from {
74     -webkit-transform: translateZ(-10em) rotateX(0) rotateY(0deg);
75     transform: translateZ(-10em) rotateX(0) rotateY(0deg);
76   }
77 
78   to {
79     -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
80     transform: translateZ(-10em) rotateX(360deg) rotateY(360deg);
81   }
82 }
View Code

相关文章:

  • 2021-11-15
  • 2021-11-19
  • 2022-12-23
  • 2021-11-11
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-02-16
  • 2022-12-23
  • 2022-12-23
  • 2021-12-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案