試一試
transform: translate(0);
transform: translate(42px, 18px);
transform: translate(-2.1rem, -2ex);
transform: translate(3ch, 3mm);
<section id="default-example">
<img
class="transition-all"
id="static-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
#static-element {
opacity: 0.4;
position: absolute;
}
#example-element {
position: absolute;
}
此變換由一個二維向量 [tx, ty] 表示。其座標定義了元素在每個方向上移動的距離。
語法
css
/* Single <length-percentage> values */
transform: translate(200px);
transform: translate(50%);
/* Double <length-percentage> values */
transform: translate(100px, 200px);
transform: translate(100px, 50%);
transform: translate(30%, 200px);
transform: translate(30%, 50%);
值
- 單個
<length-percentage>值 -
此值是一個
<length>或<percentage>,表示平移向量 [tx, 0] 的橫座標(水平,x 分量)。平移向量的縱座標(垂直,y 分量)將設定為0。例如,translate(2px)等同於translate(2px, 0)。百分比值是指由transform-box屬性定義的參考框的寬度。 - 雙
<length-percentage>值 -
此值描述了兩個
<length>或<percentage>值,分別表示平移向量 [tx, ty] 的橫座標(水平,x 分量)和縱座標(垂直,y 分量)。作為第一個值的百分比是指由transform-box屬性定義的參考框的寬度,作為第二個值的百分比是指其高度。
正式語法
<translate()> =
translate( <length-percentage> , <length-percentage>? )
<length-percentage> =
<length> |
<percentage>
示例
使用單軸平移
HTML
html
<div>Static</div>
<div class="moved">Moved</div>
<div>Static</div>
CSS
css
div {
width: 60px;
height: 60px;
background-color: skyblue;
}
.moved {
/* Equal to: translateX(10px) or translate(10px, 0) */
transform: translate(10px);
background-color: pink;
}
結果
結合 y 軸和 x 軸平移
HTML
html
<div>Static</div>
<div class="moved">Moved</div>
<div>Static</div>
CSS
css
div {
width: 60px;
height: 60px;
background-color: skyblue;
}
.moved {
transform: translate(10px, 10px);
background-color: pink;
}
結果
規範
| 規範 |
|---|
| CSS 變換模組級別 1 # funcdef-transform-translate |
瀏覽器相容性
載入中…