10.1 Pseudo-class :focus
Pseudo-classes CSS cung cấp công cụ tuyệt vời để định dạng các phần tử trong các trạng thái khác nhau. Nhờ vậy,
có thể cải thiện sự tương tác của người dùng với các form và các phần tử tương tác khác trên trang web. Hãy cùng xem
cách sử dụng pseudo-classes như :focus
, :hover
, :disabled
và :checked
để định dạng các phần tử đầu vào (<input>
).
Pseudo-class :focus
áp dụng cho phần tử form khi nó nhận được focus. Thường điều này xảy ra khi click chuột vào phần tử
hoặc chuyển đến nó bằng phím Tab. Định dạng các phần tử có thể focus giúp người dùng dễ dàng định hướng hơn trong form.
Ví dụ sử dụng:
input:focus {
border-color: #4A90E2;
box-shadow: 0 0 5px rgba(74, 144, 226, 0.5);
outline: none;
}
<form>
<label for="name">Tên:</label>
<input type="text" id="name" name="name">
</form>
Giải thích
border-color
: thay đổi màu viền của phần tử khi nó nhận focusbox-shadow
: thêm hiệu ứng đổ bóng xung quanh phần tử để làm nổi bật nóoutline
: bỏ viền mặc định của trình duyệt, thay bằng kiểu dáng tùy chỉnh
10.2 Pseudo-class :hover
Pseudo-class :hover
áp dụng cho phần tử khi người dùng đưa chuột vào nó. Điều này có thể
hữu ích để cung cấp phản hồi hình ảnh khi tương tác với phần tử.
Ví dụ sử dụng:
input:hover {
border-color: #50E3C2;
background-color: #F0F8FF;
}
<form>
<label for="email">Email:</label>
<input type="email" id="email" name="email">
</form>
Giải thích
border-color
: thay đổi màu viền của phần tử khi con trỏ chuột ở trên nóbackground-color
: thay đổi màu nền của phần tử khi con trỏ chuột ở trên nó
10.3 Pseudo-class :disabled
Pseudo-class :disabled
áp dụng cho các phần tử form bị vô hiệu hóa, tức là không hoạt động và không thể được sử dụng
hoặc thay đổi bởi người dùng. Điều này giúp người dùng hiểu rằng phần tử không thể tương tác được.
Ví dụ sử dụng:
input:disabled {
background-color: #E0E0E0;
color: #A0A0A0;
cursor: not-allowed;
}
<form>
<label for="username">Tên người dùng:</label>
<input type="text" id="username" name="username" disabled>
</form>
Giải thích
background-color
: thay đổi màu nền của phần tử bị vô hiệu hóa, để hiển thị rằng nó không hoạt độngcolor
: thay đổi màu văn bản bên trong phần tử bị vô hiệu hóacursor
: thiết lập con trỏ ở trạng thái "not-allowed", để chỉ ra rằng phần tử không thể sử dụng được
10.4 Pseudo-class :checked
Pseudo-class :checked
áp dụng cho các phần tử loại checkbox
và radio
đang
ở trạng thái được chọn. Điều này cho phép định dạng các phần tử được chọn, làm cho chúng nổi bật hơn.
Ví dụ sử dụng:
input[type="checkbox"]:checked,
input[type="radio"]:checked {
background-color: #4A90E2;
border-color: #4A90E2;
}
<form>
<label>
<input type="checkbox" name="option" checked>
Tùy chọn 1
</label>
<label>
<input type="checkbox" name="option">
Tùy chọn 2
</label>
<label>
<input type="radio" name="choice" checked>
Lựa chọn 1
</label>
<label>
<input type="radio" name="choice">
Lựa chọn 2
</label>
</form>
Giải thích
background-color
: thay đổi màu nền của phần tử được chọnborder-color
: thay đổi màu viền của phần tử được chọn
GO TO FULL VERSION