Thuộc tính transition-duration trong CSS

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

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

Thuộc tính transition-duration trong CSS dùng để quy định thời gian diễn ra cho một hiệu ứng transition thay đổi thường tính bằng giây (s) hoặc mili giây (ms).

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

transition-duration: giatri;

giatri: Giá trị để quy định thời gian diễn ra cho một hiệu ứng transition (Ví dụ: 0.5s, 2s, 3s, 5s,.......)

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

transition-duration: 0.5s;
transition-duration: 2s;
<!DOCTYPE html>
<html>
<head>
<title>Code Thuộc tính transition-duration 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}

div p{width:100%; height:auto; float:left; margin:0px; padding:15px; background:green; width:100%; color:#fff; transition-property:background-color;}
div p:hover{background-color:blue}

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

</style>
</head>
<body>

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

<p>Dùng để quy định thời gian diễn ra cho một hiệu ứng transition thay đổi thường tính bằng giây (s) hoặc mili giây (ms), hãy rê chuột vào ô màu xanh để xem thời gian diễn ra 1 hiệu ứng:</p>

<!--transition-duration: 0.5s;-->
<div><p style="transition-duration: 0.5s;">transition-duration: 0.5s;</p></div>

<!--transition-duration: 2s;-->
<div><p style="transition-duration: 2s;">transition-duration: 2s;</p></div>

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

<!--transition-duration: 6s;-->
<div><span  style="transition-duration: 6s;">transition-duration: 6s;</span></div>

</body>
</html>

Chạy Thử

Ứng dụng transition-duration để tạo hiệu ứng CSS tự nhiên hơn

transition-duration quyết định khoảng thời gian một hiệu ứng chuyển đổi hoàn tất. Chọn đúng thời lượng giúp chuyển động trên giao diện đủ mượt để người dùng nhận thấy sự thay đổi nhưng không tạo cảm giác chậm chạp. Thay vì áp dụng một giá trị cố định cho mọi thành phần, nên điều chỉnh thời gian dựa trên đặc điểm và mục đích của từng hiệu ứng.

Điều chỉnh transition-duration theo từng loại hiệu ứng

Mỗi hiệu ứng có tốc độ phù hợp riêng. Các thay đổi nhỏ như màu nền, màu chữ hoặc độ trong suốt thường chỉ cần thời lượng ngắn. Với hiệu ứng di chuyển, phóng to hoặc thay đổi kích thước, thời gian có thể dài hơn để người dùng dễ theo dõi hướng chuyển động.

  • Đổi màu: nên dùng thời lượng ngắn để phản hồi tương tác nhanh.
  • Thay đổi opacity: có thể tăng thời gian một chút để hiệu ứng xuất hiện hoặc biến mất mềm mại.
  • Di chuyển: cần cân đối thời lượng với khoảng cách, vì quãng đường càng lớn thì chuyển động quá nhanh càng dễ gây cảm giác giật.
  • Transform: nên chọn thời gian vừa đủ để thao tác như hover, scale hoặc xoay không làm giao diện phản hồi chậm.

Ví dụ, một nút chỉ thay đổi màu khi rê chuột có thể dùng thời lượng ngắn:

.button {
  transition-property: background-color;
  transition-duration: 0.2s;
}

Trong khi đó, một phần tử cần di chuyển rõ ràng có thể sử dụng thời lượng dài hơn:

.box {
  transition-property: transform;
  transition-duration: 0.5s;
}

Kết hợp transition-duration với transition-property và transition-timing-function

transition-duration chỉ xác định hiệu ứng diễn ra trong bao lâu, không quyết định cách chuyển động thay đổi tốc độ. Để tạo cảm giác tự nhiên, nên kết hợp nó với transition-propertytransition-timing-function.

.card {
  transition-property: transform, box-shadow;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

Cách thiết lập này giúp xác định rõ thuộc tính nào được chuyển đổi, thời gian hoàn tất và nhịp độ thay đổi trong suốt quá trình. Nhờ đó, hiệu ứng dễ kiểm soát hơn thay vì phụ thuộc vào một thiết lập transition chung cho toàn bộ phần tử.

Tránh đặt transition-duration quá nhanh hoặc quá chậm

Thời lượng quá ngắn có thể khiến thay đổi xảy ra gần như tức thì, làm mất cảm giác chuyển tiếp. Ngược lại, thời lượng quá dài khiến thao tác như hover, mở menu hoặc phản hồi nút bấm trở nên ì và thiếu tự nhiên.

Khi lựa chọn giá trị, nên xem xét cả khoảng cách chuyển động, kích thước thành phần và tần suất tương tác. Thành phần được thao tác liên tục thường cần phản hồi nhanh hơn thành phần chỉ xuất hiện trong các chuyển cảnh lớn.

Quan trọng nhất là thử trực tiếp trên giao diện thay vì áp dụng một con số cho mọi trường hợp. Một thời lượng phù hợp phải giúp người dùng nhận biết trạng thái thay đổi mà không làm gián đoạn thao tác.

Tối ưu transition-duration trên giao diện responsive

Trên các kích thước màn hình khác nhau, cùng một hiệu ứng có thể tạo cảm nhận khác nhau. Một chuyển động ngắn trên màn hình lớn có thể trông hợp lý nhưng lại gây cảm giác quá nhanh trên một thành phần chiếm ít không gian ở màn hình nhỏ.

Với giao diện responsive, nên ưu tiên sự nhất quán và khả năng phản hồi. Những hiệu ứng phục vụ thao tác trực tiếp như nút, liên kết hoặc điều khiển menu không nên kéo dài chỉ để tạo chuyển động đẹp mắt. Với các hiệu ứng phụ trợ, có thể tinh chỉnh thời lượng khi bố cục hoặc cách tương tác thay đổi.

Ngoài ra, nên cân nhắc tùy chọn giảm chuyển động của hệ điều hành để hạn chế hiệu ứng không cần thiết đối với người dùng có nhu cầu về chuyển động tối thiểu. Điều này giúp giao diện không chỉ mượt mà mà còn thân thiện hơn trong nhiều hoàn cảnh sử dụng.

Lời kết

Cảm ơn các bạn đã tham khảo bài viết Thuộc tính transition-duration 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-duration 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