Thuộc tính transition-delay trong CSS

Thuộc tính transition-delay trong CSS
Thuộc tính transition-delay trong CSS

Chức năng của Thuộc tính transition-delay trong CSS

Thuộc tính transition-delay trong CSS dùng để quy định thời gian chờ trước khi thực hiện hiệu ứng transition trên phần tử HTML.

Cú pháp của Thuộc tính transition-delay trong CSS

transition-delay: giatri;

giatri: Giá trị để quy định thời gian chờ trước khi thực hiện hiệu ứng transition trên phần tử HTML (Ví dụ: 0.5s, 1s, 2s, 3s,....)

Code Thuộc tính transition-delay trong CSS

transition-delay: 0.5s;
transition-delay: 1s;
transition-delay: 2s;
transition-delay: 3s;
<!DOCTYPE html>
<html>
<head>
<title>Code Thuộc tính transition-delay trong CSS</title>
<style>
* { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
div {width:100%; height:auto; float:left; border:1px solid red; margin-bottom: 10px}

span{width:100%; height:auto; float:left; margin:0px; padding:15px; background:green; width:300px; color:#fff; transition-property:width; transition-duration: 3s;}
span:hover{width:100%}

</style>
</head>
<body>

<h1>Code Thuộc tính transition-delay trong CSS</h1>

<p>Dùng để quy định thời gian chờ trước khi thực hiện hiệu ứng transition trên phần tử HTML, bạn hãy rê chuột vào ô màu xanh để thực hiện thay đổi chiều rộng:</p>

<!--transition-delay: 0.5s;-->
<div><span  style="transition-delay: 0.5s;">transition-delay: 0.5s;</span></div>

<!--transition-delay: 1s;-->
<div><span  style="transition-delay: 1s;">transition-delay: 1s;</span></div>

<!--transition-delay: 2s;-->
<div><span  style="transition-delay: 2s;">transition-delay: 2s;</span></div>

<!--transition-delay: 3s;-->
<div><span  style="transition-delay: 3s;">transition-delay: 3s;</span></div>

</body>
</html>

Chạy Thử

Ứng dụng transition-delay trong các hiệu ứng CSS thực tế

transition-delay phát huy hiệu quả khi thời điểm bắt đầu chuyển đổi cần được kiểm soát thay vì diễn ra ngay lập tức. Thuộc tính này đặc biệt hữu ích trong các hiệu ứng tương tác, giúp chuyển động có trình tự và tạo cảm giác tự nhiên hơn.

Tạo hiệu ứng xuất hiện lần lượt cho nhiều phần tử

Khi nhiều phần tử cần xuất hiện theo thứ tự, có thể gán cho mỗi phần tử một khoảng trễ khác nhau. Cách này tạo hiệu ứng nối tiếp mà không cần viết riêng một animation cho từng phần tử.

.item:nth-child(1) {
  transition-delay: 0s;
}

.item:nth-child(2) {
transition-delay: 0.1s;
}

.item:nth-child(3) {
transition-delay: 0.2s;
}

Chẳng hạn, khi danh sách chuyển sang trạng thái mới, phần tử thứ hai sẽ bắt đầu sau phần tử thứ nhất, còn phần tử thứ ba tiếp tục chậm hơn. Khoảng trễ nhỏ thường đủ để tạo cảm giác chuyển động liền mạch mà không khiến giao diện phản hồi chậm.

Kết hợp transition-delay với hover để tạo hiệu ứng mượt hơn

Kết hợp transition-delay với :hover giúp kiểm soát thời điểm hiệu ứng bắt đầu khi người dùng đưa con trỏ lên phần tử. Đây là cách phù hợp cho nút bấm, menu, thẻ nội dung hoặc các thành phần cần hạn chế hiệu ứng xảy ra quá nhanh.

.button {
  opacity: 0.7;
  transition: opacity 0.3s ease;
  transition-delay: 0.1s;
}

.button:hover {
opacity: 1;
}

Khoảng trễ ngắn giúp tránh việc hiệu ứng kích hoạt liên tục khi con trỏ chỉ lướt nhanh qua khu vực tương tác. Tuy nhiên, thời gian chờ nên vừa phải để người dùng vẫn cảm nhận được phản hồi ngay sau thao tác.

Điều khiển thời điểm chuyển đổi giữa nhiều trạng thái

Trong giao diện có nhiều thành phần thay đổi cùng lúc, transition-delay có thể được dùng để tạo thứ tự chuyển đổi. Ví dụ, một phần tử có thể thay đổi kích thước trước, sau đó màu nền hoặc nội dung liên quan mới bắt đầu chuyển trạng thái.

.card {
  transform: scale(1);
  opacity: 0.8;
  transition:
    transform 0.3s ease,
    opacity 0.3s ease 0.15s;
}

.card:hover {
transform: scale(1.05);
opacity: 1;
}

Cách sắp xếp này giúp các thay đổi không xảy ra đồng thời một cách cứng nhắc. Khi sử dụng, nên xác định rõ hiệu ứng nào cần phản hồi trước và hiệu ứng nào có thể xuất hiện sau để tránh làm giao diện trở nên rối mắt.

Những trường hợp không nên lạm dụng transition-delay

Không phải hiệu ứng nào cũng cần độ trễ. Nếu đặt thời gian chờ quá dài, giao diện có thể tạo cảm giác phản hồi chậm dù CSS vẫn hoạt động chính xác. Điều này đặc biệt dễ nhận thấy ở các thành phần mà người dùng thường xuyên tương tác.

Với các thao tác cần phản hồi tức thời, nên dùng transition-delay rất ngắn hoặc bỏ qua thuộc tính này. Độ trễ chỉ nên được sử dụng khi nó thực sự giúp phân biệt các trạng thái, tạo trình tự chuyển động hoặc giảm cảm giác hiệu ứng xảy ra quá đột ngột.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Thuộc tính transition-delay trong CSS.

  • 0 Bình luận
CEO Bùi Tấn Lực | Founder Web Mới
Bùi Tấn Lực
Tìm hiểu về CEO Bùi Tấn Lực, Founder Web Mới với nhiều năm kinh nghiệm trong lĩnh vực phát triển website, SEO và chia sẻ kiến thức công nghệ
Chia sẻ nội dung đánh giá của bạn về Thuộc tính transition-delay trong CSS
Email, Điện thoại của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Đánh giá của bạn
Tên *
Email
Số điện thoại *
Bình luận, Hỏi đáp
Đăng ký tư vấn thiết kế website
Tìm hiểu 1 năm không bằng lắng nghe 1 câu tư vấn