Đăng nhập

Bài 19: Hover, active, focus – hiệu ứng khi tương tác

Một trang web không chỉ cần đẹp, mà còn phải tương tác tốt với người dùng. Khi người dùng rê chuột, nhấp chuột, hay nhập liệu, giao diện nên phản hồi một cách rõ ràng để tạo trải nghiệm thân thiện và chuyên nghiệp.

Trong bài học này, bạn sẽ học:

  • Cách dùng các pseudo-classes: :hover, :active, :focus
  • Áp dụng hiệu ứng khi người dùng di chuột, bấm nút, hoặc nhập dữ liệu
  • Thực hành tạo nút có hiệu ứng, form có viền sáng khi focus

1. :hover – hiệu ứng khi rê chuột

button:hover {
  background-color: #2ecc71;
  color: white;
  cursor: pointer;
}

Khi người dùng rê chuột vào thẻ button, màu nền đổi thành xanh lá, chữ trắng. Bạn cũng có thể đổi border, transform, thêm bóng, v.v.


2. :active – hiệu ứng khi nhấn chuột

button:active {
  transform: scale(0.95);
}

active xảy ra ngay lúc nhấn chuột xuống (chưa nhả ra). Thường dùng để tạo hiệu ứng “ấn vào” như nút lún nhẹ.


3. :focus – hiệu ứng khi focus vào input/form

input:focus {
  border: 2px solid #3498db;
  outline: none;
}

Khi người dùng click vào ô nhập, đường viền sẽ đổi màu. outline: none giúp bỏ khung mặc định của trình duyệt.


4. Thực hành: tạo nút có hiệu ứng tương tác

style.css

button {
  background-color: #3498db;
  color: white;
  border: none;
  padding: 12px 24px;
  font-size: 16px;
  border-radius: 6px;
  transition: all 0.3s ease;
}

button:hover {
  background-color: #2980b9;
}

button:active {
  transform: scale(0.95);
}

index.html

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Bài 19 – Hover, Active, Focus</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>

  <button>Bấm vào tôi</button>

</body>
</html>

5. Thực hành: ô nhập liệu có hiệu ứng focus

Thêm vào style.css

input[type="text"] {
  padding: 10px;
  border: 2px solid #ccc;
  border-radius: 4px;
  transition: border-color 0.3s;
}

input[type="text"]:focus {
  border-color: #e67e22;
  outline: none;
}

HTML:

<input type="text" placeholder="Nhập tên của bạn">

6. Ghi nhớ

Pseudo-classDùng để làm gì
:hoverKhi rê chuột vào phần tử
:activeKhi nhấn giữ chuột vào phần tử
:focusKhi phần tử (thường là input) được focus

Mẹo nhỏ

  • Kết hợp các hiệu ứng với transition để trông mượt mà hơn
  • Sử dụng cùng bộ màu sắc để đảm bảo giao diện nhất quán
  • Tránh làm hiệu ứng quá mạnh gây khó chịu

Thảo luận

Email 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 *

Đăng ký nhận tin mới

Nhận bài học, tài nguyên và cơ hội việc làm qua email hàng tuần.

Chúng tôi cam kết không spam. Bạn có thể hủy bất cứ lúc nào.