<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title> <link rel="stylesheet" type="text/css" href="style.css" />
<script src="css3.js"></script> </head>
<body> <div class="middle">
<div class="scene">
<div class="box">
<ul class="ring"> </ul>
</div>
<div class="item">
<p>北国风光,千里冰封,万里雪飘。望长城内外,惟余莽莽;大河上下,顿失滔滔。山舞银蛇,原驰蜡象,欲与天公试比高。须晴日,看红装素裹,分外妖娆。江山如此多娇,引无数英雄竞折腰。惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。一代天骄,成吉思汗,只识弯弓射大雕。俱往矣,数风流人物,还看今朝。</p>
<a href="javascript:;" class="close"></a>
</div>
</div>
<div class="text">
<p>在下面输入你自己的文字(建议50-350字)</p>
<textarea cols="30" rows="10"></textarea>
<div class="btn">
<button>提交</button>
<button>重置</button>
</div>
<a href="javascript:;" class="close"></a>
</div>
<div class="table">
<a href="javascript:;" class="active">圆球</a>
<a href="javascript:;">圆锥</a>
<a href="javascript:;">柱状</a>
<a href="javascript:;">柱状扭曲</a>
</div>
<div class="line"></div>
<div class="btn2">
<button>展开</button>
<button>自定义文字</button>
</div>
</div> </body>
</html>

引入的style.css文件

@charset "utf-8";

/*样式重置*/
html,body { user-select: none; -moz-user-select: none; -webkit-user-select: none; }
body,ul,ol,dl,dd,h1,h2,h3,h4,h5,h6,p,input,select,textarea,form{ margin: 0; padding: 0; }
ul,ol{ list-style: none; }
img{ border: none; display: block; }
input,select,textarea,button{ outline: none; border:none; background-color: transparent; }
textarea{ resize: none; }
a{ text-decoration: none; }
h1,h2,h3,h4,h5,h6{ font-size: 1em; }
em{ font-style: normal; } /*浮动*/
.fl{ float: left; }
.fr{ float: right; }
.clearfix:after,
.clearfix:before{ content: "";display: table; }
.clearfix:after{ clear: both; }
.clearfix{ *zoom:1; } html {
height: 100%;
overflow: hidden;
} body {
height: 100%;
overflow: hidden;
user-select: none;
-moz-user-select: none;
-webkit-user-select: none;
background-repeat: no-repeat;
background-position: center;
background-size: 100% 100%;
font-family: '微软雅黑';
background-color: #131313;
} li {
list-style: none;
} .middle {
width: 1000px;
height: 620px;
position: absolute;
left: 50%;
top: 50%;
margin-left: -500px;
margin-top: -310px;
} .scene {
width: 400px;
height: 400px;
margin: 0 auto;
perspective: 900px;
-webkit-perspective: 900px;
position: relative;
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
color: #16E5FF;
} .box {
width: 100%;
height: 100%;
position: relative;
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
perspective-origin: center 250px;
} .ring {
width: 100%;
height: 100%;
transform-style: preserve-3d;
-webkit-transform-style: preserve-3d;
position: absolute;
} .ring li {
line-height: 30px;
text-align: center;
font-size: 16px;
position: absolute;
margin-top: -25px;
margin-left: -15px;
transition: all .6s;
} li.all {
transition: all .6s cubic-bezier(.75,.25,1,1);
} li.one {
transition: transform .6s cubic-bezier(0,0,.25,.75);
} .text {
position: absolute;
top: 30px;
left: 50%;
margin-left: -329px;
padding: 15px 18px;
width: 602px;
height: 318px;
border: 1px solid #e5e5e5;
border-radius: 8px;
box-shadow: 0 5px 5px #d4dbe1;
background-color: #fff;
transform: scale(.5);
opacity: 0;
transition: opacity .3s cubic-bezier(.15,.84,.35,1), transform .3s cubic-bezier(.15,.84,.35,1);
display: none;
} .text p {
margin-bottom: 12px;
font-size: 12px;
} .text textarea {
resize: none;
width: 580px;
height: 220px;
padding: 10px;
border: 1px solid #cacaca;
border-radius: 8px;
background-color: #f3f7fa;
margin-bottom: 15px;
color: #00a0e9;
} .text a {
position: absolute;
top: 10px;
right: 10px;
width: 19px;
height: 19px;
background: url("images/icons/close.png") no-repeat center;
} .btn {
margin: 0 auto;
width: 260px;
overflow: hidden;
} .btn button {
width: 120px;
height: 30px;
border: 1px solid #cacaca;
border-radius: 15px;
float: left;
} .btn button:nth-of-type(1) {
margin-right: 18px;
} .table {
width: 400px;
margin: 20px auto 10px;
overflow: hidden;
} .table a {
float: left;
width: 100px;
height: 12px;
padding-top: 94px;
font-size: 12px;
line-height: 12px;
text-align: center;
color: #889199;
} .table a:nth-of-type(1) {
background: url("images/icons/circle.png") no-repeat center 2px;
} .table a:nth-of-type(2) {
background: url("images/icons/Cone.png") no-repeat center top;
} .table a:nth-of-type(3) {
background: url("images/icons/Column.png") no-repeat center top;
} .table a:nth-of-type(4) {
background: url("images/icons/Column2.png") no-repeat center top;
} .table a:nth-of-type(1):hover {
background: url("images/icons/circle-hover.png") no-repeat center 2px;
} .table a:nth-of-type(2):hover {
background: url("images/icons/Cone-hover.png") no-repeat center top;
} .table a:nth-of-type(3):hover {
background: url("images/icons/Column-hover.png") no-repeat center top;
} .table a:nth-of-type(4):hover {
background: url("images/icons/Column2-hover.png") no-repeat center top;
} .table a:nth-of-type(1).active {
background: url("images/icons/circle-active.png") no-repeat center 2px;
} .table a:nth-of-type(2).active {
background: url("images/icons/Cone-active.png") no-repeat center top;
} .table a:nth-of-type(3).active {
background: url("images/icons/Column-active.png") no-repeat center top;
} .table a:nth-of-type(4).active {
background: url("images/icons/Column2-active.png") no-repeat center top;
} .line {
width: 734px;
height: 1px;
margin: 0 auto 14px;
background: -webkit-linear-gradient(left,#7ecef4,#94cc8e,#fff45c);
} .btn2 {
width: 204px;
margin: 0 auto;
overflow: hidden;
} .btn2 button {
width: 100px;
height: 30px;
border: 1px solid #cacaca;
float: left;
} .btn2 button:nth-of-type(1) {
border-radius: 15px 0 0 15px;
} .btn2 button:nth-of-type(2) {
margin-left: -1px;
border-radius: 0 15px 15px 0;
} button {
background: linear-gradient(#fff,#e3ecf3);
color: #889199;
} button:hover {
background: linear-gradient(#fff,#bef5ff 10%,#6cb7df);
border-color: #bef5ff;
color: #00a0e9;
} button:active {
background: linear-gradient(#fff,#6cb7df 10%,#bef5ff);
} button.active {
background: linear-gradient(#fff,#6cb7df 10%,#bef5ff);
} .item {
width: 400px;
padding: 30px;
top: 100px;
margin: -30px;
position: fixed;
transform: scale(2);
-webkit-transform: scale(2);
opacity: 0;
display: none;
transform-origin: center center 200px;
-webkit-transform-origin: center center 200px;
opacity: 0;
transition: all .5s ease;
} .item a {
position: absolute;
top: 10px;
right: 10px;
width: 19px;
height: 19px;
background: url("images/icons/close.png") no-repeat center;
} .item p {
font-size: 14px;
line-height: 24px;
word-break: break-all;
}

引入的css3.js文件

 function setCss3 (obj,attrObj) {
for (var i in attrObj) {
var newi=i;
if(newi.indexOf("-")>0){
var num=newi.indexOf("-");
newi=newi.replace(newi.substr(num,2),newi.substr(num+1,1).toUpperCase());
}
obj.style[newi]=attrObj[i];
newi=newi.replace(newi.charAt(0),newi.charAt(0).toUpperCase());
obj.style["webkit"+newi]=attrObj[i];
obj.style["moz"+newi]=attrObj[i];
obj.style["o"+newi]=attrObj[i];
obj.style["ms"+newi]=attrObj[i];
}
} var s = '北国风光,千里冰封,万里雪飘。望长城内外,惟余莽莽;大河上下,顿失滔滔。山舞银蛇,原驰蜡象,欲与天公试比高。须晴日,看红装素裹,分外妖娆。江山如此多娇,引无数英雄竞折腰。惜秦皇汉武,略输文采;唐宗宋祖,稍逊风骚。一代天骄,成吉思汗,只识弯弓射大雕。俱往矣,数风流人物,还看今朝。';
window.onload = function () { var oScene = document.getElementsByClassName('scene')[0];
var oUl = oScene.getElementsByTagName('ul')[0];
var oDiv = oScene.getElementsByTagName('div')[0];
var oTable = document.getElementsByClassName('table')[0];
var aA = oTable.getElementsByTagName('a');
var oBtn = document.getElementsByClassName('btn2')[0];
var aBtn = oBtn.getElementsByTagName('button');
var oItem = document.getElementsByClassName('item')[0];
var oP = oScene.getElementsByTagName('p')[0];
var aClose = document.getElementsByClassName('close');
var aLi = oUl.getElementsByTagName('li');
var oText = document.getElementsByClassName('text')[0];
var oTextarea = oText.getElementsByTagName('textarea')[0];
var aBtn2 = oText.getElementsByTagName('button');
var r = 150;
var circleArr = [];
var coneArr = [];
var coneNum = 0;
var wordNum = -1;
var liNub = 0;
var theta = 0;
var phi = 0;
var layer = 0;
var num = 0;
var iTimer2 = 0;
var graph = 1;
var columnH = 0;
var columnNum = 0; star();
function star(){ circleArr = [];
coneArr = [];
coneNum = 0;
wordNum = -1;
liNub = 0;
theta = 0;
phi = 0;
layer = 0;
num = 0;
aA[graph-1].className = '';
graph = 1;
aA[graph-1].className = 'active';
for(var i=4; i<; i++){ num = i*i + (i+1)*(i+1);
if(num >= s.length){ layer = (i-1)*2+1;
break; }
layer = (i-1)*2+1; } for(var i=0; i<layer; i++){ if(i<(layer+1)/2){ wordNum+=2; }else{ wordNum-=2; }
circleArr.push(wordNum); } num = 0;
for(var i=0; i<circleArr.length; i++){ theta = Math.PI/circleArr.length;
phi = 2*Math.PI/circleArr[i];
for(var j=0; j<circleArr[i]; j++){ var li = document.createElement('li');
li.innerHTML = s[num];
num++;
drawCircle(li,theta,phi,i,j);
oUl.appendChild(li); } } for(var i=0; i<aLi.length; i++){ coneNum += 2*i+1;
if(coneNum>aLi.length){ coneNum -= 2*i+1;
break; }
coneArr.push(2*i+1); } for(var i=0; i<coneArr.length; i++){ phi = 2*Math.PI/coneArr[i];
for(var j=0; j<coneArr[i]; j++){ drawCone(aLi[liNub],phi,i,j);
liNub++; } } liNub = 0;
columnH = Math.floor(aLi.length/(circleArr.length-2));
columnNum = columnH*(circleArr.length-2);
for(var i=0; i<circleArr.length-1; i++){ phi = 2*Math.PI/columnH;
for(var j=0; j<columnH; j++){ drawColumn(aLi[liNub],phi,i,j);
drawColumn2(aLi[liNub],phi,i,j);
liNub++; } }
for(var i=0; i<aLi.length; i++){ setCss3(aLi[i],{transform:'translate3D('+ aLi[i].circleX +'px,'+ aLi[i].circleY +'px,'+ aLi[i].circleZ +'px) rotateY('+ aLi[i].circlePhi +'rad) rotateX('+ (aLi[i].circleTheta-Math.PI/2) +'rad)'}); } } aA[0].onclick = function(){ clearTimeout(iTimer2);
aA[graph - 1].className = '';
graph = 1;
aA[graph - 1].className = 'active';
startChange();
if(oItem.bOff){ fn(); }else{ iTimer2 = setTimeout(function () { changeCircle(); }, 1000); } };
aA[1].onclick = function(){ clearTimeout(iTimer2);
aA[graph-1].className = '';
graph = 2;
aA[graph-1].className = 'active';
startChange();
if(oItem.bOff){ fn(); }else{ iTimer2 = setTimeout(function () { changeCone(); }, 1000); } };
aA[2].onclick = function(){ clearTimeout(iTimer2);
aA[graph - 1].className = '';
graph = 3;
aA[graph - 1].className = 'active';
startChange();
if(oItem.bOff){ fn(); }else{ iTimer2 = setTimeout(function () { changeColumn(); }, 1000); } };
aA[3].onclick = function(){ clearTimeout(iTimer2);
aA[graph - 1].className = '';
graph = 4;
aA[graph - 1].className = 'active';
startChange();
if(oItem.bOff){ fn(); }else{ iTimer2 = setTimeout(function () { changeColumn2(); }, 1000); } }; oScene.onmousedown = function(ev){ clearInterval(iTimer);
var e = ev || event;
var clickX = e.clientX;
var clickY = e.clientY;
var disX = 0;
var disY = 0;
document.onmousemove = function(ev){ var e = ev || event;
disX = e.clientX - clickX;
disY = e.clientY - clickY;
setCss3(oDiv,{ transform: 'rotateX('+ (angleX-disY) +'deg) rotateY('+ (angleY+disX) +'deg)' }); }
document.onmouseup = function(){ document.onmousemove = null;
document.onmouseup = null;
angleX = angleX-disY;
angleY = angleY+disX;
if(disY==0 && disX==0){ disX = -300; }
iTimer = setInterval(function(){ angleX -= disY/100;
angleY += disX/100;
setCss3(oDiv,{ transform: 'rotateX('+ angleX +'deg) rotateY('+ angleY +'deg)' }); },60); }
return false; };
aBtn[0].onclick = function(){ oItem.bOff = true;
if(aBtn[1].disabled == false)
aBtn[0].className = 'active';
aBtn[0].disabled = true;
aBtn[1].disabled = true;
startChange();
oItem.style.display = 'block';
setTimeout(function(){ setCss3(oItem,{transform:'scale(1)'});
oItem.style.opacity = 1;
oDiv.style.display = 'none'; },1000); };
aClose[0].onclick = function(){ aBtn[0].className = '';
fn(); };
aBtn[1].onclick = function(){ if(aBtn[0].disabled == false)
aBtn[1].className = 'active';
oText.style.display = 'block';
oDiv.style.display = 'none';
aBtn[0].disabled = true;
aBtn[1].disabled = true;
setTimeout(function(){
setCss3(oText,{transform:'scale(1)'});
oText.style.opacity = '1';
},12); };
aBtn2[0].onclick = function(){ s = oTextarea.value;
if(s.length<50||s.length>364){ alert('您输入的文字不得小于50或大于364个'); }else{ oUl.innerHTML = '';
oP.innerHTML = s;
star();
setCss3(oText,{transform:'scale(.5)'});
oText.style.opacity = '0';
oDiv.style.display = 'block';
setTimeout(function(){
oText.style.display = 'none';
aBtn[0].disabled = false;
aBtn[1].disabled = false;
aBtn[1].className = '';
},60); } };
aBtn2[1].onclick = function(){ oTextarea.value = ''; };
aClose[1].onclick = function(){ oTextarea.value = '';
setCss3(oText,{transform:'scale(.5)'});
oText.style.opacity = 0;
oDiv.style.display = 'block';
setTimeout(function(){
oText.style.display = 'none';
aBtn[0].disabled = false;
aBtn[1].disabled = false;
aBtn[1].className = '';
},60); };
function drawCircle(obj,theta,phi,i,j){ obj.circleX = r*Math.sin(theta*i)*Math.sin(phi*j) + 200;
obj.circleY = -r*Math.cos(theta*i) + 200;
obj.circleZ = r*Math.sin(theta*i)*Math.cos(phi*j);
obj.circleTheta = theta*(circleArr.length-i);
obj.circlePhi = phi*j;
obj.bigCircleX = (r+2000)*Math.sin(theta*i)*Math.sin(phi*j) + 200;
obj.bigCircleY = -(r+2000)*Math.cos(theta*i) + 200;
obj.bigCircleZ = (r+2000)*Math.sin(theta*i)*Math.cos(phi*j);
obj.maxX = obj.bigCircleX;
obj.maxY = obj.bigCircleY;
obj.maxZ = obj.bigCircleZ;
obj.maxTheta = obj.circleTheta;
obj.maxPhi = obj.circlePhi; }
function drawColumn(obj,phi,i,j){ obj.columnX = r/1.5*Math.sin(phi*j) + 200;
obj.columnY = (2*r/(circleArr.length-2))*i + 50;
obj.columnZ = (r/1.5*Math.cos(phi*j)).toFixed(2);
obj.columnPhi = phi*j;
obj.bigColumnX = (r+2000)/1.5*Math.sin(phi*j) + 200;
obj.bigColumnY = (2*(r+2000)/(circleArr.length-2))*i + 50-2000;
obj.bigColumnZ = ((r+2000)/1.5*Math.cos(phi*j)).toFixed(2); }
function drawColumn2(obj,phi,i,j){ obj.column2X = r/1.5*Math.sin(phi*j+i*Math.PI/180*8) + 200;
obj.column2Y = (2*r/(circleArr.length-2))*i + 50;
obj.column2Z = (r/1.5*Math.cos(phi*j+i*Math.PI/180*8)).toFixed(2);
obj.column2Phi = phi*j+i*Math.PI/180*8;
obj.bigColumn2X = (r+2000)/1.5*Math.sin(phi*j+i*Math.PI/180*8) + 200;
obj.bigColumn2Y = (2*(r+2000)/(circleArr.length-2))*i + 50-2000;
obj.bigColumn2Z = ((r+2000)/1.5*Math.cos(phi*j+i*Math.PI/180*8)).toFixed(2); }
function drawCone(obj,phi,i,j){ obj.coneX = (2*r/coneArr.length)*i*Math.tan(30*Math.PI/180)*Math.sin(phi*j) + 200;
obj.coneY = (2*r/coneArr.length)*i + 50;
obj.coneZ = (2*r/coneArr.length)*i*Math.tan(30*Math.PI/180)*Math.cos(phi*j);
obj.coneTheta = Math.PI/6;
obj.conePhi = phi*j;
obj.bigConeX = (2*(r+2000)/coneArr.length)*i*Math.tan(30*Math.PI/180)*Math.sin(phi*j) + 200;
obj.bigConeY = (2*(r+2000)/coneArr.length)*i + 50-2000;
obj.bigConeZ = (2*(r+2000)/coneArr.length)*i*Math.tan(30*Math.PI/180)*Math.cos(phi*j); }
function startChange(){ for(var i=0; i<aLi.length; i++) { aLi[i].className = 'all';
setCss3(aLi[i], {transform: 'translate3D(' + aLi[i].maxX + 'px,' + aLi[i].maxY + 'px,' + aLi[i].maxZ + 'px) rotateY(' + aLi[i].maxPhi + 'rad) rotateX(' + (aLi[i].maxTheta - Math.PI / 2) + 'rad)'});
aLi[i].style.opacity = 0; } }
function changeCircle(){ for(var i=0; i<columnNum; i++){ aLi[i].className = '';
aLi[i].maxX = aLi[i].bigCircleX;
aLi[i].maxY = aLi[i].bigCircleY;
aLi[i].maxZ = aLi[i].bigCircleZ;
aLi[i].maxTheta = aLi[i].circleTheta;
aLi[i].maxPhi = aLi[i].circlePhi;
setCss3(aLi[i], {transform: 'translate3D(' + aLi[i].maxX + 'px,' + aLi[i].maxY + 'px,' + aLi[i].maxZ + 'px) rotateY(' + aLi[i].maxPhi + 'rad) rotateX(' + (aLi[i].maxTheta - Math.PI / 2) + 'rad)'}); }
setTimeout(function() { for (var i = 0; i < aLi.length; i++) {
aLi[i].className = 'one';
aLi[i].style.opacity = 1;
setCss3(aLi[i], {transform: 'translate3D(' + aLi[i].circleX + 'px,' + aLi[i].circleY + 'px,' + aLi[i].circleZ + 'px) rotateY(' + aLi[i].circlePhi + 'rad) rotateX(' + (aLi[i].circleTheta - Math.PI / 2) + 'rad)'}); } },100); }
function changeColumn(){ for(var i=0; i<columnNum; i++){ aLi[i].className = '';
aLi[i].maxX = aLi[i].bigColumnX;
aLi[i].maxY = aLi[i].bigColumnY;
aLi[i].maxZ = aLi[i].bigColumnZ;
aLi[i].maxTheta = 0;
aLi[i].maxPhi = aLi[i].columnPhi;
setCss3(aLi[i],{transform:'translate3D('+ aLi[i].maxX +'px,'+ aLi[i].maxY +'px,'+ aLi[i].maxZ +'px) rotateY('+ aLi[i].maxPhi +'rad) rotateX('+ aLi[i].maxTheta +'rad)'}); }
setTimeout(function(){ for(var i=0; i<columnNum; i++){ aLi[i].className = 'one';
aLi[i].style.opacity = 1;
setCss3(aLi[i], {transform: 'translate3D(' + aLi[i].columnX + 'px,' + aLi[i].columnY + 'px,' + aLi[i].columnZ + 'px) rotateY(' + aLi[i].columnPhi + 'rad)'});
console.log(aLi[i].columnZ,aLi[i].columnPhi); } },100);
// console.log(aLi[153].columnZ,aLi[153].columnPhi); }
function changeColumn2(){ for(var i=0; i<columnNum; i++){ aLi[i].className = '';
aLi[i].maxX = aLi[i].bigColumn2X;
aLi[i].maxY = aLi[i].bigColumn2Y;
aLi[i].maxZ = aLi[i].bigColumn2Z;
aLi[i].maxTheta = 0;
aLi[i].maxPhi = aLi[i].column2Phi;
setCss3(aLi[i],{transform:'translate3D('+ aLi[i].maxX +'px,'+ aLi[i].maxY +'px,'+ aLi[i].maxZ +'px) rotateY('+ aLi[i].maxPhi +'rad) rotateX('+ aLi[i].maxTheta +'rad)'}); }
setTimeout(function() { for (var i = 0; i < columnNum; i++) { aLi[i].className = 'one';
aLi[i].style.opacity = 1;
setCss3(aLi[i], {transform: 'translate3D(' + aLi[i].column2X + 'px,' + aLi[i].column2Y + 'px,' + aLi[i].column2Z + 'px) rotateY(' + aLi[i].column2Phi + 'rad)'}); } },100) }
function changeCone(){ for(var i=0; i<coneNum; i++){ aLi[i].className = '';
aLi[i].maxX = aLi[i].bigConeX;
aLi[i].maxY = aLi[i].bigConeY;
aLi[i].maxZ = aLi[i].bigConeZ;
aLi[i].maxPhi = aLi[i].conePhi;
aLi[i].maxTheta = aLi[i].coneTheta;
setCss3(aLi[i],{transform:'translate3D('+ aLi[i].maxX +'px,'+ aLi[i].maxY +'px,'+ aLi[i].maxZ +'px) rotateY('+ aLi[i].maxPhi +'rad) rotateX('+ aLi[i].maxTheta +'rad)'}); }
setTimeout(function(){ for(var i=0; i<coneNum; i++){ aLi[i].className = 'one';
aLi[i].style.opacity = 1;
setCss3(aLi[i],{transform:'translate3D('+ aLi[i].coneX +'px,'+ aLi[i].coneY +'px,'+ aLi[i].coneZ +'px) rotateY('+ aLi[i].conePhi +'rad) rotateX('+ aLi[i].coneTheta +'rad)'}); } },100) }
function fn() { oItem.bOff = false;
setCss3(oItem,{transform:'translateZ(-2000px) rotateX(-180deg)'});
oItem.style.opacity = 0;
oDiv.style.display = 'block';
setTimeout(function(){ switch (graph){ case 1:
changeCircle();
break;
case 2:
changeCone();
break;
case 3:
changeColumn();
break;
case 4:
changeColumn2();
break; }
aBtn[0].disabled = false;
aBtn[1].disabled = false;
oItem.style.display = 'none';
setCss3(oItem,{transform:'translateZ(0px) scale(2)'}); },600); }
var angleX = 0;
var angleY = 0;
var iTimer = setInterval(function(){ //angleX -= 3;
angleY -= 3;
setCss3(oDiv,{ transform: 'rotateX('+ angleX +'deg) rotateY('+ angleY +'deg)' }); },60); }

3D模型文字动画的更多相关文章

  1. Canvas 3D球形文字云动画特效

    Canvas 3D球形文字云动画特效 效果图: 代码如下,复制即可使用: (适用浏览器:360.FireFox.Chrome.Opera.傲游.搜狗.世界之窗. 不支持Safari.IE8及以下浏览器 ...

  2. Qt Creator中的3D绘图及动画教程(参照NeHe)

    Qt Creator中的3D绘图及动画教程(参照NeHe) http://blog.csdn.net/cly116/article/details/47184729 刚刚学习了Qt Creator,发 ...

  3. Android自己定义组件系列【8】——面膜文字动画

    我们掩盖文字动画Flash中非经货共同体共同,由于Android应用程序开发人员做你想要做这个动画在应用程序中去?本文中,我们看的是如何自己的定义ImageView来实现让一张文字图片实现文字的遮罩闪 ...

  4. 3D模型展示以及体积、表面积计算

    本文原创 如转载请注明出处!!! 本博客地址http://www.cnblogs.com/we-jack 本文原创,如果有同样需求的小伙伴请第一时间联系我 或者在留言区留言 上次为大家提供了3D模型的 ...

  5. Three.js导入gltf模型和动画

    核心代码 复杂的3D模型一般都是用第三方建模工具生成,然后加载到three中 three官方推荐使用gltf格式的文件,代表编辑器是blender 本文生成了自定义生成了一个blender模型,并且应 ...

  6. 10大炫酷的HTML5文字动画特效欣赏

    文字是网页中最基本的元素,在CSS2.0时代,我们只能在网页上展示静态的文字,只能改变他的大小和颜色,显得枯燥无味.随着HTML5的发展,现在网页中的文字样式变得越来越丰富了,甚至出现了文字动画,HT ...

  7. 分享一个WebGL开发的网站-用JavaScript + WebGL开发3D模型

    这张图每位程序员应该都深有感触. 人民心目中的程序员是这样的:坐在电脑面前噼里啪啦敲着键盘,运键如飞. 现实中程序员是这样的:编码5分钟,调试两小时. 今天我要给大家分享一个用WebGL开发的网站,感 ...

  8. Cesium学习笔记(五):3D 模型 (http://blog.csdn.net/umgsoil/article/details/74572877)

    Cesium支持3D模型,包括关键帧动画,皮肤的改变还有单个节点的选择等,Cesium还提供了了一个基于网络的工具,将COLLADA模型转换为glTF,方便和优化模型添加 还记得我们在实体添加的时候添 ...

  9. 3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子

    原文:3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子 3ds Max建模,Blend设计,VS2008控制WPF的3D模型例子   所用的软件 3ds Max 9.0,Mic ...

随机推荐

  1. Windows XP解决显示桌面图标消失的问题

    1.依次单击“开始”,“运行”,在运行对话框中输入regsvr32 /n /i:u shell32.dll,按回车键 2.弹出“shell32.dll中的DllInstall成功”的窗口,表明已将数据 ...

  2. Windows 7系统下安装和卸载删除IE的方法

    1.首先按下 Windows +R 键打开“运行”的窗口,请输入“appwiz.cpl”. 2.在「程序和功能」窗口上按下左上的「查看已安装的更新」. 3.找到「Windows Internet Ex ...

  3. Charles 使用教程

    Charles 的简介 如何安装 Charles 将 Charles 设置成系统代理 Charles 主界面介绍 过滤网络请求 截取 iPhone 上的网络封包 截取 Https 通讯信息 模拟慢速网 ...

  4. php 中 get_cfg_var() 与 ini_get() 的异同

    背景 get_cfg_var() 取的值是配置文件中的值 ini_get() Gets the value of a configuration option, 则取的当前值(运行时,PHP系统定义) ...

  5. 「美团外卖APP签约快捷支付」流程体验

    §1 添加银行卡 新用户在美团外卖APP订餐支付时,首先要绑定银行卡.如下是“添加银行卡”页,输入卡号后,系统自动调用卡bin库校验卡号的有效性,如果有效会显示发卡行和卡类型(借记卡/贷记卡).  这 ...

  6. Web API 入门 二 媒体类型

    还是拿上面 那篇 Web API 入门 一  的那个来讲 在product类中加一个时间属性

  7. vue2.0leaflet

    github源码在此,记得点星:https://github.com/brandonxiang/vueleaflet 参考文档:https://korigan.github.io/Vue2Leafle ...

  8. gitlab4.0_安装

    一,安装环境 OS:redhat7.4 二,安装依赖包 yum -y groupinstall 'Development Tools'  ===>待验证 yum -y install pytho ...

  9. JavaScript(六):错误处理机制

    1.Error()构造函数 javascript解析或执行语句时,一旦发生错误,js引擎会将其抛出! JavaScript原生提供了Error()构造函数,所有抛出的错误都是这个构造函数的实例(即对象 ...

  10. HTML5语义化元素

    语义化元素:有意义的元素. 对语义化的理解: 正确的标签做正确的事情: HTML5语义化元素让页面内容结构化清晰: 便于开发人员阅读,理解,维护: 搜索引擎爬虫可以依赖语义化元素来确定上下文和每个关键 ...