CSS3 の 3D 変換 translation3d(x,y,z) 関数:
translate3d(x,y,z) は、3D 変換を規定する形式にすぎません。詳細については、「3D 変換の詳細な紹介」の章を参照してください。 CSS3の効果」。
この関数は、3次元空間における指定要素の変位を指定するために使用されます。
文法構造:
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 軸方向の変位:
ボタンをドラッグして、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;}#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>
上記のコードは、値が大きい場合の効果を示しています。視覚効果が大きいほど視覚効果が小さくなり、近づくと自然に大きくなり、遠ざかるほど自然に小さく見えるはずです。 。このコードと上記の 2 つのコードの最大の違いは、パースペクティブ属性の適用です。この属性を使用しない場合、3D シーンには被写界深度の Z 軸がないため、デモンストレーション効果が表示されません。パースペクティブ属性については、CSS3 のパースペクティブ プロパティを 1 つの章で詳しく説明しています。
translate3d() 関数は分割して個別に記述することもできます:
<!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>
ここではあまり紹介しませんが、非常にシンプルで一目で理解できます。
元のアドレスは、CSS3 3D 変換 translation3d(x,y,z) 関数の章です。