Ở đây tôi có bộ chọn CSS dựa trên câu trả lời của bobince để chọn bất kỳ phần tử HTML có thể tập trung nào:
a[href]:not([tabindex='-1']),
area[href]:not([tabindex='-1']),
input:not([disabled]):not([tabindex='-1']),
select:not([disabled]):not([tabindex='-1']),
textarea:not([disabled]):not([tabindex='-1']),
button:not([disabled]):not([tabindex='-1']),
iframe:not([tabindex='-1']),
[tabindex]:not([tabindex='-1']),
[contentEditable=true]:not([tabindex='-1'])
{
/* your CSS for focusable elements goes here */
}
hoặc đẹp hơn một chút trong SASS:
a[href],
area[href],
input:not([disabled]),
select:not([disabled]),
textarea:not([disabled]),
button:not([disabled]),
iframe,
[tabindex],
[contentEditable=true]
{
&:not([tabindex='-1'])
{
/* your SCSS for focusable elements goes here */
}
}
Tôi đã thêm nó dưới dạng câu trả lời, bởi vì đó là, điều tôi đang tìm kiếm, khi Google chuyển hướng tôi đến câu hỏi Stackoverflow này.
EDIT: Có thêm một bộ chọn, có thể lấy nét:
[contentEditable=true]
Tuy nhiên, điều này được sử dụng rất hiếm khi.