Home >Web Front-end >HTML Tutorial >CSS3的3D转换translate3d(x,y,z)函数_html/css_WEB-ITnose

CSS3的3D转换translate3d(x,y,z)函数_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-21 09:04:164876browse

CSS3的3D转换translate3d(x,y,z)函数:
translate3d(x,y,z)只是规定3D转换的一种形式,更多相关内容可以参阅CSS3的3D转换效果详解介绍一章节。
此函数用来规定指定元素在三维空间中的位移。
语法结构:

translate3d(x,y,z)

参数解析:
1.x:表示在x轴方向的位移。
2.y:表示在y轴方向的位移。
3.z:表示在z轴方向的位移。
代码实例:
1.x轴方向的位移:

<!DOCTYPE html>  <html>  <head>  <meta charset=" utf-8">  <meta name="author" content="http://www.softwhy.com/" />  <title>蚂蚁部落</title>  <style>#box{  position:relative;  height:150px;  width:150px;  margin-left:450px;  margin-top:250px;  padding:10px;  border:1px solid black;}#inner{  width:100px;  height:100px;  text-align:center;  line-height:100px;  font-size:12px;  position:absolute;  border:1px solid black;  background-color:yellow;     transform:translate3d(0px,0,0);   -ms-transform:translate3d(0px,0,0);  -webkit-transform:translate3d(0px,0,0);  -o-transform:translate3d(0px,0,0);  -moz-transform:translate3d(0px,0,0);}table{     font-size:12px;     width:500px;     margin-left:220px;   text-align:left; }   .left{  text-align:right;  width:150px;}</style><script type="text/javascript">  function change(value){    var oinner=document.getElementById('inner');    var oshow=document.getElementById('show');       oinner.style.transform="translate3d("+value+"px,0,0)";   oinner.style.msTransform="translate3d("+value+"px,0,0)";   oinner.style.webkitTransform="translate3d("+value+"px,0,0)";   oinner.style.MozTransform="translate3d("+value+"px,0,0)";   oinner.style.OTransform="translate3d("+value+"px,0,0)";      oshow.innerHTML=value;  } window.onload=function(){   var range=document.getElementById("range");   range.onmousemove=function(){     change(this.value);   } } </script> </head><body><div id="box">  <div id="inner">蚂蚁部落</div></div><table>    <tr>      <td class="left">x轴位移:</td>      <td><input type="range" min="-200" step="1" max="200" id="range" value="0"/></td>    </tr>    <tr>      <td class="left">x:</td>      <td>(<span id="show">0</span>)</td>    </tr>  </table>  </body>  </html>

拖动按钮可以实现x轴方向位移的演示,一切都很清楚。
2.y轴方向的位移:

<!DOCTYPE html>  <html>  <head>  <meta charset=" utf-8">  <meta name="author" content="http://www.softwhy.com/" />  <title>蚂蚁部落</title>  <style>#box{  position:relative;  height:150px;  width:150px;  margin-left:450px;  margin-top:250px;  padding:10px;  border:1px solid black;}#inner{  width:100px;  height:100px;  text-align:center;  line-height:100px;  font-size:12px;  position:absolute;  border:1px solid black;  background-color:yellow;     transform:translate3d(0,0px,0);   -ms-transform:translate3d(0,0px,0);   -webkit-transform:translate3d(0,0px,0);   -o-transform:translate3d(0,0px,0);   -moz-transform:translate3d(0,0px,0); }table{     font-size:12px;     width:500px;     margin-left:220px;   text-align:left; }   .left{  text-align:right;  width:150px;}</style><script type="text/javascript">  function change(value){    var oinner=document.getElementById('inner');    var oshow=document.getElementById('show');       oinner.style.transform="translate3d(0,"+value+"px,0)";   oinner.style.msTransform="translate3d(0,"+value+"px,0)";   oinner.style.webkitTransform="translate3d(0,"+value+"px,0)";   oinner.style.MozTransform="translate3d(0,"+value+"px,0)";   oinner.style.OTransform="translate3d(0,"+value+"px,0)";      oshow.innerHTML=value;  } window.onload=function(){   var range=document.getElementById("range");   range.onmousemove=function(){     change(this.value);   } } </script> </head><body><div id="box">  <div id="inner">蚂蚁部落</div></div><table>    <tr>      <td class="left">y轴位移:</td>      <td><input type="range" min="-200" step="1" max="200" id="range" value="0"/></td>    </tr>    <tr>      <td class="left">y:</td>      <td>(<span id="show">0</span>)</td>    </tr>  </table>  </body>  </html>

拖动按钮可以实现Y轴方向位移的演示,一切都很清楚。
3.z轴方向位移:

<!DOCTYPE html>  <html>  <head>  <meta charset=" utf-8">  <meta name="author" content="http://www.softwhy.com/" />  <title>蚂蚁部落</title>  <style>#box{  position:relative;  height:150px;  width:150px;  margin-left:450px;  margin-top:250px;  padding:10px;  border:1px solid black;     -webkit-perspective:1200px;  -moz-perspective:1200px;  -ms-perspective:1200px;  -o-perspective:1200px;  perspective:1200px;}#inner{  width:100px;  height:100px;  text-align:center;  line-height:100px;  font-size:12px;  position:absolute;  border:1px solid black;  background-color:yellow;     transform:translate3d(0,0,0);   -ms-transform:translate3d(0,0,0);   -webkit-transform:translate3d(0,0,0);   -o-transform:translate3d(0,0,0);   -moz-transform:translate3d(0,0,0); }table{     font-size:12px;     width:500px;     margin-left:220px;   text-align:left; }   .left{  text-align:right;  width:150px;}</style><script type="text/javascript">  function change(value){    var oinner=document.getElementById('inner');    var oshow=document.getElementById('show');       oinner.style.transform="translate3d(0,0,"+value+"px)";   oinner.style.msTransform="translate3d(0,0,"+value+"px)";   oinner.style.webkitTransform="translate3d(0,0,"+value+"px)";   oinner.style.MozTransform="translate3d(0,0,"+value+"px)";   oinner.style.OTransform="translate3d(0,0,"+value+"px)";      oshow.innerHTML=value;  } window.onload=function(){   var range=document.getElementById("range");   range.onmousemove=function(){     change(this.value);   } } </script> </head><body><div id="box">  <div id="inner">蚂蚁部落</div></div><table>    <tr>      <td class="left">z轴位移:</td>      <td><input type="range" min="-200" step="1" max="200" id="range" value="0"/></td>    </tr>    <tr>      <td class="left">z:</td>      <td>(<span id="show">0</span>)</td>    </tr>  </table>  </body>  </html>

以上代码演示了我们的效果,当值越大时。视觉效果越大,值越小时,视觉效果越小,这个也应该很好理解,离的越近自然就越大,离的越远自然就看起来越小了。此代码和上面两个代码最大的区别在于应用了perspective属性,如果不使用此属性,将看不到演示效果,因为3D的场景就不会有景深的Z轴,关于perspective属性可以参阅CSS3的perspective属性详解一章节。 
translate3d()函数也可以拆分单独写:

transform:translateX(10px); transform:translateY(20px); transform:translateZ(30px);

这里就不多介绍了,非常的简单,一看就明白。

原文地址是:CSS3的3D转换translate3d(x,y,z)函数一章节。

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn