×

Áp dụng style khi phần tử nhận tiêu điểm - :focus - trong CSS

CSS cung cấp nhiều pseudo-class để giúp lập trình viên tạo kiểu cho các phần tử HTML theo trạng thái cụ thể của chúng. Một trong những pseudo-class quan trọng này là :focus. Khi một phần tử trên trang web được tương tác, chẳng hạn như thông qua tabbing hoặc click chuột, nó sẽ trở thành tiêu điểm. Pseudo-class này cho phép bạn áp dụng các kiểu đặc biệt cho phần tử đó khi nó đang hoạt động.

Cách hoạt động của :focus

Khi bạn nhấn phím Tab trên bàn phím, các phần tử tương tác trên trang sẽ lần lượt nhận tiêu điểm. Những phần tử này bao gồm các liên kết, nút bấm, các trường nhập dữ liệu, và các phần tử có thể tương tác khác. Khi phần tử nhận tiêu điểm, trạng thái của nó sẽ thay đổi thành :focus.

Ví dụ cơ bản

input:focus {
  border: 2px solid blue;
}

Đoạn CSS trên sẽ thay đổi viền của trường nhập liệu thành màu xanh khi trường nhận được tiêu điểm.

Lợi ích của :focus

1. Trải nghiệm người dùng tốt hơn:

  • Dễ theo dõi: Người dùng có thể dễ dàng nhận ra phần tử nào đang hoạt động, giúp họ điều hướng trang web dễ dàng hơn.
  • Tăng cường khả năng tiếp cận: Những người khuyết tật hoặc sử dụng công cụ hỗ trợ như keyboard náy có thể điều hướng trang web dễ dàng và hiệu quả hơn.

2. Tầm quan trọng trong thiết kế:

  • Tạo điểm nhấn: Sử dụng các kiểu dáng khác nhau khi phần tử nhận tiêu điểm có thể làm nổi bật các phần tử quan trọng và tăng cường sự chú ý của người dùng vào những phần tử đó.
  • Phản hồi người dùng: Thay đổi giao diện của phần tử khi nó được tương tác là một cách để cho người dùng biết rằng hành động của họ đã được ghi nhận.

Cách áp dụng :focus trong dự án

Sử dụng kèm với các pseudo-class khác

Bạn có thể kết hợp :focus với các pseudo-class khác như :hover, :active để tạo ra các hiệu ứng phức tạp hơn.

button:hover,
button:focus {
  background-color: green;
  color: white;
}

Các ví dụ nâng cao

1. Thay đổi kiểu chữ

textarea:focus {
  font-weight: bold;
  color: #333;
}

2. Hiệu ứng hộp bóng

input:focus {
  box-shadow: 0 0 8px rgba(0, 0, 255, 0.5);
}

Tương thích trình duyệt

:focus là một pseudo-class rất phổ biến và được hầu hết các trình duyệt hiện đại hỗ trợ. Điều này đảm bảo rằng các tùy chỉnh dựa trên tiêu điểm sẽ hoạt động ổn định trên nhiều nền tảng và thiết bị khác nhau.

Lời kết

Sử dụng :focus trong CSS là một phương pháp hiệu quả để cải thiện trải nghiệm người dùng và nâng cao khả năng tiếp cận của trang web. Không chỉ giúp người dùng dễ dàng nhận biết các phần tử đang được tương tác, mà còn tạo ra các tương tác nâng cao và chuyên nghiệp hơn. Hãy bắt đầu áp dụng :focus vào các dự án của bạn để thấy sự khác biệt!

Comments