rotate()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Hàm rotate() CSS function định nghĩa một phép biến đổi xoay một phần tử quanh
một điểm cố định trên mặt phẳng 2D mà không làm biến dạng nó. Kết quả của nó là kiểu dữ liệu <transform-function>.
Try it
transform: rotate(0);
transform: rotate(90deg);
transform: rotate(-0.25turn);
transform: rotate(3.142rad);
<section id="default-example">
<img
class="transition-all"
id="example-element"
src="/shared-assets/images/examples/firefox-logo.svg"
width="200" />
</section>
Điểm cố định mà phần tử xoay quanh — đề cập ở trên — còn được gọi là gốc biến đổi. Mặc định là tâm của phần tử, nhưng bạn có thể đặt gốc biến đổi tùy chỉnh bằng
thuộc tính transform-origin.
Cú pháp
rotate(a)
Giá trị
- a
-
Là một
<angle>biểu thị góc xoay. Chiều xoay phụ thuộc vào hướng viết. Trong ngữ cảnh trái sang phải, góc dương biểu thị xoay theo chiều kim đồng hồ, góc âm biểu thị xoay ngược chiều kim đồng hồ. Trong ngữ cảnh phải sang trái, góc dương biểu thị xoay ngược chiều kim đồng hồ, góc âm biểu thị xoay theo chiều kim đồng hồ. Xoay 180° được gọi là phản xạ qua điểm.
| Tọa độ Descartes trên ℝ^2 | Tọa độ thuần nhất trên ℝℙ^2 | Tọa độ Descartes trên ℝ^3 | Tọa độ thuần nhất trên ℝℙ^3 |
|---|---|---|---|
|
|
|
|
|
[cos(a) sin(a) -sin(a) cos(a) 0 0] |
Cú pháp chính thức
<rotate()> =
rotate( [ <angle> | <zero> ] )
Ví dụ
>Ví dụ cơ bản
HTML
<div>Bình thường</div>
<div class="rotated">Đã xoay</div>
CSS
div {
width: 80px;
height: 80px;
background-color: skyblue;
}
.rotated {
transform: rotate(45deg); /* Equal to rotateZ(45deg) */
background-color: pink;
}
Kết quả
Kết hợp xoay với phép biến đổi khác
Nếu bạn muốn áp dụng nhiều phép biến đổi cho một phần tử, hãy chú ý đến thứ tự các phép biến đổi mà bạn chỉ định. Ví dụ, nếu bạn xoay trước khi dịch chuyển, phép dịch chuyển sẽ theo trục xoay mới!
HTML
<div>Bình thường</div>
<div class="rotate">Đã xoay</div>
<div class="rotate-translate">Xoay + Dịch chuyển</div>
<div class="translate-rotate">Dịch chuyển + Xoay</div>
CSS
div {
position: absolute;
left: 40px;
top: 40px;
width: 100px;
height: 100px;
background-color: lightgray;
}
.rotate {
background-color: transparent;
outline: 2px dashed;
transform: rotate(45deg);
}
.rotate-translate {
background-color: pink;
transform: rotate(45deg) translateX(180px);
}
.translate-rotate {
background-color: gold;
transform: translateX(180px) rotate(45deg);
}
Kết quả
Thông số kỹ thuật
| Specification |
|---|
| CSS Transforms Module Level 1> # funcdef-transform-rotate> |
Khả năng tương thích trình duyệt
Xem thêm
- Thuộc tính
transform - Thuộc tính
rotate <transform-function>rotate3d()