Rotate3d sử dụng các tham số như nào?
Hàm rotate3d()
trong CSS được sử dụng để xoay một phần tử xung quanh một trục cố định trong không gian 3D. Nó là một hàm transform mạnh mẽ vì bạn có thể xác định bất kỳ trục xoay nào.
Cú pháp của rotate3d()
là:
CSS
Hãy cùng tìm hiểu từng tham số:
x
(Number):Đại diện cho tọa độ X của vector xác định trục xoay.
Giá trị này là một số, có thể là dương hoặc âm.
Nếu bạn đặt
x = 1
vày = 0
,z = 0
, thì trục xoay chính là trục X.
y
(Number):Đại diện cho tọa độ Y của vector xác định trục xoay.
Giá trị này là một số, có thể là dương hoặc âm.
Nếu bạn đặt
y = 1
vàx = 0
,z = 0
, thì trục xoay chính là trục Y.
z
(Number):Đại diện cho tọa độ Z của vector xác định trục xoay.
Giá trị này là một số, có thể là dương hoặc âm.
Nếu bạn đặt
z = 1
vàx = 0
,y = 0
, thì trục xoay chính là trục Z.
Lưu ý quan trọng về
x, y, z
:Ba tham số
x, y, z
cùng nhau tạo thành một vector xác định hướng của trục xoay.Độ lớn của các giá trị này không quan trọng bằng tỷ lệ của chúng. Ví dụ,
rotate3d(1, 0, 0, 45deg)
sẽ tạo ra hiệu ứng tương tự nhưrotate3d(2, 0, 0, 45deg)
hoặcrotate3d(0.5, 0, 0, 45deg)
vì chúng đều chỉ định trục X là trục xoay. Trình duyệt sẽ tự động "chuẩn hóa" vector này.Nếu tất cả
x, y, z
đều bằng 0, thì không có phép xoay nào xảy ra.
angle
(Angle):Đại diện cho góc xoay.
Có thể được chỉ định bằng các đơn vị góc như:
deg
(degrees - độ): Ví dụ45deg
,90deg
.rad
(radians - radian): Ví dụ0.785rad
(tương đương 45 độ).grad
(gradians - gradian): Ví dụ50grad
(tương đương 45 độ).turn
(turns - vòng quay): Ví dụ0.125turn
(tương đương 45 độ).
Góc dương sẽ xoay theo chiều kim đồng hồ khi nhìn dọc theo trục xoay từ gốc tọa độ.
Góc âm sẽ xoay ngược chiều kim đồng hồ.
Ví dụ minh họa:
Xoay quanh trục X:
CSS
Đây sẽ làm cho cạnh trên của phần tử lùi vào và cạnh dưới tiến ra.
Xoay quanh trục Y:
CSS
Đây sẽ làm cho cạnh phải của phần tử lùi vào và cạnh trái tiến ra (nếu là góc dương).
Xoay quanh trục Z:
CSS
Đây sẽ xoay phần tử trong mặt phẳng 2D.
Xoay quanh một trục chéo (ví dụ: đường chéo từ gốc tọa độ đi qua điểm (1, 1, 0)):
CSS
Hiệu ứng này sẽ phức tạp hơn khi hình dung trực quan, nhưng phần tử sẽ xoay quanh một đường chéo trong mặt phẳng XY.
Điều quan trọng cần nhớ khi sử dụng rotate3d()
:
perspective
: Để thấy được hiệu ứng 3D thực sự củarotate3d()
, bạn cần áp dụng thuộc tínhperspective
cho phần tử cha của đối tượng được transform, hoặc cho chính đối tượng đó nếu nó là root của bối cảnh 3D.perspective
tạo ra ảo giác về chiều sâu.CSStransform-origin
: Mặc định, phép biến đổi được áp dụng từ tâm của phần tử. Bạn có thể thay đổi điểm gốc này bằng thuộc tínhtransform-origin
(ví dụ:transform-origin: top left;
).
rotate3d()
cung cấp sự linh hoạt tối đa cho các phép xoay 3D, cho phép bạn xác định chính xác trục xoay mà mình muốn.
Last updated
Was this helpful?