CSS3 translate(x,y)

admin發表於2018-08-08

此方法用來規定指定元素在二維空間中的位移。

三維空間中的位移可以參閱CSS3 translate3d(x,y,z)一章節。

transform變換更多內容可以參閱CSS3 2D/3D轉換一章節。

語法結構:

[CSS] 純文字檢視 複製程式碼
transform:translate3d(x,y)

引數解析:

(1).x:表示在x軸方向的位移。

(2).y:表示在y軸方向的位移。

程式碼例項如下:

[HTML] 純文字檢視 複製程式碼執行程式碼
<!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;
}
#ant{
  width:100px;
  height:100px;
  text-align:center;
  line-height:100px;
  font-size:12px;
  border:1px solid black;
  background-color:yellow; 
  transform:translate(0px,0px); 
}
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(x,y){  
  var odiv = document.getElementById("ant");
  var oshow = document.getElementById("show");
  odiv.style.transform = "translate(" + x + "px," + y + "px)"; 
  oshow.innerHTML = x_range.value + "/" + y_range.value;
} 
window.onload=function(){ 
  var x_range = document.getElementById("x_range");
  var y_range = document.getElementById("y_range");
  x_range.onmousemove = function () {
    change(x_range.value, y_range.value);
  }
  y_range.onmousemove = function () {
    change(x_range.value, y_range.value);
  }
} 
</script> 
</head>
<body>
<div id="box">
  <div id="ant">螞蟻部落</div>
</div>
<table>  
  <tr>  
    <td class="left">x軸位移:</td>  
    <td><input type="range" min="-200" step="1" max="200" id="x_range" value="0"/></td>  
  </tr>  
  <tr>
    <td class="left">y軸位移:</td>
    <td><input type="range" min="-200" step="1" max="200" id="y_range" value="0" /></td>
  </tr>  
  <tr>  
    <td class="left">x/y:</td>  
    <td>(<span id="show">0/0</span>)</td>  
  </tr>  
</table>  
</body>  
</html>

利用JavaScript演示了transform:translate(x,y)方法的功能;也可以單獨設定在某一方位的位移:

[CSS] 純文字檢視 複製程式碼
transform:translateX(10px); 
transform:translateY(20px);

相關文章