2D
轉換2D
轉換是改變標籤在二維平面上的位置和形狀css
轉換(transform)是CSS3中具備顛覆性的特徵之一,能夠實現元素的位移、旋轉、變形、縮放。css3
移動: translate
markdown
旋轉: rotate
學習
縮放: scale
spa
傾斜:skew
code
2D轉換是改變標籤在二維平面上的位置和形狀的一種技術,先來學習二維座標系orm
2D
轉換之 translate
2D移動是2D轉換裏面的一種功能,能夠改變元素在頁面中的位置,相似定位。開發
translate
語法transform: translate(x, y)
transform: translateX(n)
transfrom: translateY(n)
複製代碼
2D
的移動主要是指 水平、垂直方向上的移動translate
最大的優勢就是不影響其餘元素的位置translate
中的100%單位,是相對於自己的寬度和高度來進行計算的div {
background-color: lightseagreen;
width: 200px;
height: 100px;
/* 平移 */
/* 水平垂直移動 100px */
/* transform: translate(100px, 100px); */
/* 水平移動 100px */
/* transform: translate(100px, 0) */
/* 垂直移動 100px */
/* transform: translate(0, 100px) */
/* 水平移動 100px */
/* transform: translateX(100px); */
/* 垂直移動 100px */
transform: translateY(100px)
}
複製代碼
2D 轉換 rotate
2D
旋轉指的是讓元素在二維平面內順時針或者逆時針旋轉rotate
語法使用步驟:it
給元素添加轉換屬性 transform
io
屬性值爲 rotate(角度)
如 transform:rotate(30deg)
順時針方向旋轉30度
/* 單位是:deg */
transform: rotate(度數)
複製代碼
rotate
裏面跟度數,單位是 deg
transform-origin
基礎語法/* 設置旋轉中心點*/
transform-origin: x y;
複製代碼
center
center
top
、bottom
、left
、right
、center
)img:hover {
transform: rotate(360deg)
}
複製代碼
2D
轉換之 scale
scale
的做用transform: scale(x, y)
複製代碼
transform: scale(1, 1)
: 寬高都放大一倍,至關於沒有放大transform: scale(2, 2)
: 寬和高都放大了二倍transform: scale(2)
: 若是隻寫了一個參數,第二個參數就和第一個參數一致transform:scale(0.5, 0.5)
: 縮小scale
最大的優點:能夠設置轉換中心點縮放,默認以中心點縮放,並且不影響其餘盒子div:hover {
/* 注意,數字是倍數的含義,因此不須要加單位 */
/* transform: scale(2, 2) */
/* 實現等比縮放,同時修改寬與高 */
/* transform: scale(2) */
/* 小於 1 就等於縮放*/
transform: scale(0.5, 0.5)
}
複製代碼
2D
轉換綜合寫法以及順序問題transform: translate() rotate() scale()
div:hover {
transform: translate(200px, 0) rotate(360deg) scale(1.2)
}
複製代碼