[应用][js+css3]3D盒子导航[PC端]_html/css_WEB-ITnose
CSS3构建的3D盒子之导航应用
1.在用css3构建的盒子表面,放上iframe,来加载导航页面。
2.鼠标左键按下移动可旋转盒子,寻找想要的网址。
3.左键单机盒子表面,将全屏现实所点盒子表面的网站[iframe中],并可浏览,关闭后返回原来状态。
4.PC端,将额外显示2个css3做的旋转盒子[没什么意义]
5.移动端只显示一个导航盒子[模拟器正常,真机无效,留待以后查看,兼容开发有待提高。。。]
注:原本打算排列导航盒子,这样的话导航也变得比较好玩
但是,如果使用iframe来显示网站预览的话,速度太慢,太耗内存
尝试过用html2canvas,但是由于跨域问题,直接被灭
解决方法:通过服务器返回较实时的网站预览图的方式显示
---
可执行代码下载地址
http://download.csdn.net/detail/wangxsh42/8522151
---
效果图
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 }
2.js操作代码
iframe加载操作[缩放iframe大小,默认以1024宽度访问网站]
1 $(".cube").find("iframe").each(function(i){ 2 if(this.attributes.url.value!=''){ 3 this.style.height = 1024+"px"; 4 this.style.width = 1024+"px"; 5 this.onload = this.onreadystatechange = iframeload; 6 this.src = this.attributes.url.value;} 7 }); 8 9 function iframeload() { 10 if(outFrame===this){return;}11 if (!this.readyState || this.readyState == "complete") {12 this.focus();13 this.style.transformOrigin = "left top";14 this.style.transform = "scale("+targetWidth/1024+")";15 this.style.display="block";16 $(this).attr("loaded","1");17 }18 }
盒子旋转操作
1 var overs = document.querySelectorAll(".fix .over"); 2 for(var i =0;i<overs.length;i++){ 3 if($(overs[i]).prev().prev().attr("url")!='') 4 overs[i].addEventListener("click", mouseclick, false); 5 overs[i].addEventListener("mousedown", mousedown, false); 6 document.addEventListener("mouseup", mouseup, false); 7 overs[i].addEventListener("mousemove", mousemove, false); 8 } 9 10 function mousedown(e){11 mouse.x=e.pageX;12 mouse.y=e.pageY;13 canmove = true;14 }15 function mouseup(e){16 mouse.x=null;17 mouse.y=null;18 canmove = false;19 }20 function mousemove(e){21 if(canmove && mouse.x!=null && mouse.y!=null){22 var ydeg=0,xdeg=0;23 xdeg = e.touches[0].pageX - mouse.x;24 ydeg = e.touches[0].pageY - mouse.y;25 xd = (xd + xdeg)%360;26 yd = (yd -ydeg)%360;27 e.touches[0].target.parentNode.parentNode.style.transform = "rotateX("+yd+"deg) rotateY("+xd+"deg)";28 mouse.x=e.touches[0].pageX;29 mouse.y=e.touches[0].pageY;31 }32 }
盒子点击操作
1 function mouseclick(e){ 2 var index = $(e.target.parentNode.parentNode.parentNode).find(".over").index($(e.target)); 3 switch(index){ 4 case 0: 5 xd = 0; 6 yd = 0; 7 break; 8 case 1: 9 xd = -270;10 yd = 0;11 break;12 case 2:13 xd = -180;14 yd = 0;15 break;16 case 3:17 xd = -90;18 yd = 0;19 break;20 case 4:21 xd = 0;22 yd = -90;23 break;24 case 5:25 xd = 0;26 yd = 90;27 break;28 default:;29 }30 outFrame = e.target.parentNode.parentNode.getElementsByTagName("iframe")[index];31 32 if($(outFrame).attr("loaded")=="0")33 return;34 35 $(e.target).unbind();36 mouse.x=null;37 mouse.y=null;38 canmove = false;39 e.target.parentNode.parentNode.parentNode.style.zIndex="1000";40 $("#grayDiv").remove();41 $("body").append("<div id='grayDiv' style='position:absolute;left:0px;top:0px;background-color:rgba(0,0,0,0.8);z-index:999;width:"+window.innerWidth+"px;height:"+window.innerHeight+"px;'></div>");42 43 e.target.parentNode.parentNode.style.transform = "rotateX("+yd+"deg) rotateY("+xd+"deg)";44 $(outFrame).attr("loaded","0");45 outFace = $(e.target).prev();46 $(outFrame).appendTo("#grayDiv");47 $(outFrame).attr("scrolling","auto");48 outFrame.style.transform = "scale("+1+")";49 $(outFrame).css("height",window.innerHeight+"px");50 $(outFrame).css("width",window.innerWidth+"px");51 e.target.parentNode.parentNode.parentNode.style.zIndex="2";52 $("<div id='close' style='position:absolute;left:0;top:0;'>关闭</div>").appendTo("#grayDiv");53 $("#close").click(function(e){54 $(outFrame).insertBefore(outFace);55 $(outFrame).attr("scrolling","no");56 outFrame.style.transform = "scale("+targetWidth/1024+")";57 $(outFrame).css("height",1024+"px");58 $(outFrame).css("width",1024+"px");59 outFrame = null;60 outFace = null;61 $("#grayDiv").remove();62 });63 }
---
css3 3D盒子代码参考:
http://www.html5tricks.com/html5-animated-cube.html
http://www.html5tricks.com/html5-3d-cube.html
---
chrome移动端模拟器效果[真机目前无效,留待以后查看问题]:

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











HTML은 간단하고 배우기 쉽고 결과를 빠르게 볼 수 있기 때문에 초보자에게 적합합니다. 1) HTML의 학습 곡선은 매끄럽고 시작하기 쉽습니다. 2) 기본 태그를 마스터하여 웹 페이지를 만들기 시작하십시오. 3) 유연성이 높고 CSS 및 JavaScript와 함께 사용할 수 있습니다. 4) 풍부한 학습 리소스와 현대 도구는 학습 과정을 지원합니다.

HTML은 웹 구조를 정의하고 CSS는 스타일과 레이아웃을 담당하며 JavaScript는 동적 상호 작용을 제공합니다. 세 사람은 웹 개발에서 의무를 수행하고 화려한 웹 사이트를 공동으로 구축합니다.

WebDevelopmentReliesonHtml, CSS 및 JavaScript : 1) HtmlStructuresContent, 2) CSSSTYLESIT, 및 3) JAVASCRIPTADDSINGINTERACTIVITY, BASISOFMODERNWEBEXPERIENCES를 형성합니다.

anexampleStartingtaginhtmlis, whithbeginsaparagraph.startingtagsareessentialinhtmlastheyinitiate rements, definetheirtypes, andarecrucialforstructurituringwebpages 및 smanstlingthedom.

GiteEpages 정적 웹 사이트 배포 실패 : 404 오류 문제 해결 및 해결시 Gitee ...

웹 주석 기능에 대한 Y 축 위치 적응 알고리즘이 기사는 Word 문서와 유사한 주석 기능을 구현하는 방법, 특히 주석 간격을 다루는 방법을 모색합니다 ...

HTML, CSS 및 JavaScript는 웹 개발의 세 가지 기둥입니다. 1. HTML은 웹 페이지 구조를 정의하고 등과 같은 태그를 사용합니다. 2. CSS는 색상, 글꼴 크기 등과 같은 선택기 및 속성을 사용하여 웹 페이지 스타일을 제어합니다.

이미지를 클릭 한 후 주변 이미지를 산란 및 확대하는 효과를 얻으려면 많은 웹 디자인이 대화식 효과를 달성해야합니다. 특정 이미지를 클릭하여 주변을 만들 수 있습니다 ...
