Hiểu về CSS Transforms – Hướng dẫn cho người mới bắt đầu

0 0 0

Người đăng: Vũ Tuấn

Theo Viblo Asia

Hôm nay mình vừa học về CSS Transforms, và mình rất hào hứng chia sẻ những gì đã khám phá được!

CSS Transform là gì?

Thuộc tính transform trong CSS cho phép bạn thao tác trực quan với các phần tử — bạn có thể di chuyển, xoay, phóng to/thu nhỏ và làm nghiêng chúng mà không thay đổi bố cục thực tế. Điều này cực kỳ hữu ích cho animation, hiệu ứng khi rê chuột (hover) và thiết kế giao diện hiện đại.

Các hàm biến đổi 2D phổ biến

Dưới đây là một số hàm biến đổi 2D phổ biến:

1. translate(x, y)

Di chuyển phần tử khỏi vị trí ban đầu.

transform: translate(50px, 100px);

2. rotate(angle)

Xoay phần tử theo chiều kim đồng hồ.

transform: rotate(45deg);

3. scale(x, y)

Phóng to hoặc thu nhỏ phần tử theo trục X và Y.

transform: scale(1.5, 1.5);

4. skew(x-angle, y-angle)

Làm nghiêng phần tử.

transform: skew(20deg, 10deg);

Các hàm biến đổi 3D

Biến đổi 3D tạo chiều sâu cho phần tử và khiến chúng có cảm giác di chuyển trong không gian 3D. Để hiển thị đúng, bạn thường cần dùng thuộc tính perspective trên phần tử cha.

1. rotateX(angle)

Xoay phần tử quanh trục X.

transform: rotateX(45deg);

2. rotateY(angle)

Xoay phần tử quanh trục Y.

transform: rotateY(45deg);

3. rotateZ(angle)

Xoay phần tử quanh trục Z (giống với rotate trong 2D).

transform: rotateZ(45deg);

4. translateZ(distance)

Di chuyển phần tử tiến gần hoặc lùi xa trong không gian 3D.

transform: translateZ(50px);

5. perspective(n)

Xác định khoảng cách từ người xem đến phần tử 3D.

.parent { perspective: 500px;
}

Ví dụ: Hiệu ứng Hover sử dụng Transform 2D

<style>
.box { width: 100px; height: 100px; background: teal; transition: transform 0.3s;
} .box:hover { transform: scale(1.2) rotate(10deg);
}
</style> <div class="box"></div>

Khi bạn rê chuột vào khối hộp, nó sẽ phóng to và xoay nhẹ — tất cả là nhờ thuộc tính transform!

Lời kết

CSS transforms (2D và 3D) là những công cụ mạnh mẽ giúp thêm tính sáng tạo và tương tác vào thiết kế web của bạn. Mình rất thích việc thử nghiệm các hiệu ứng khác nhau và quan sát các phần tử di chuyển, xoay ngay trên màn hình.

Tiếp theo, mình dự định sẽ học về CSS animations và cách chúng kết hợp với transforms để tạo ra các hiệu ứng sống động hơn.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Căn giữa các phần tử HTML theo chiều dọc (phần 1)

Bài viết được dịch từ bài Vertical centering of elements in HTML xuất bản ngày 18/01/2015 trên trang Web++. .

0 0 96

- vừa được xem lúc

Căn giữa phần tử trong CSS

1. Theo chiều ngang. Đó có phải là phần tử inline hay inline-* (như text hay links). .

0 0 83

- vừa được xem lúc

99% không biết đến mẹo này khi sử dụng Flexbox CSS

Hello lại là mình đây. Bài viết hôm nay mình sẽ giới thiệu tới mọi người một trick khá hay khi dùng CSS flexbox nhé. 1. Chia layout với flexbox.

0 0 77

- vừa được xem lúc

Vanilla JS Project: Tính tuổi

1. Yêu cầu.

0 0 91

- vừa được xem lúc

1 số UI component và layout hữu ích với Frontend

Giới thiệu. Hôm nay mình xin chia sẻ 1 số Layout và UI component quen mà có lẽ là quen thuộc với nhiều người khi làm dự án, hay bắt gặp trên mạng.

0 0 75

- vừa được xem lúc

Style text css

Giới thiệu. Chào 2021, mình sẽ giới thiệu vài kiểu style cho text màu mè chút cho rực rỡ .

0 0 55