Có thể, với các cảnh báo CSS thông thường và nếu mã HTML có thể được sửa đổi. Nếu bạn thêm required
thuộc tính cho phần tử, thì phần tử đó sẽ khớp :invalid
hoặc :valid
tùy theo giá trị của điều khiển có trống hay không. Nếu phần tử không có value
thuộc tính (hoặc nó có value=""
), giá trị của điều khiển ban đầu trống và trở nên không trống khi bất kỳ ký tự nào (thậm chí là khoảng trắng) được nhập.
Thí dụ:
<style>
#foo { background: yellow; }
#foo:valid { outline: solid blue 2px; }
#foo:invalid { outline: solid red 2px; }
</style>
<input id=foo required>
Loại giả :valid
và :invalid
chỉ được xác định trong các tài liệu CSS cấp Dự thảo, nhưng hỗ trợ khá phổ biến trong các trình duyệt, ngoại trừ trong IE, nó đi kèm với IE 10.
Nếu bạn muốn làm cho trống rỗng, bao gồm các giá trị chỉ bao gồm các khoảng trắng, bạn có thể thêm thuộc tính pattern=.*\S.*
.
(Hiện tại) không có bộ chọn CSS để phát hiện trực tiếp liệu điều khiển đầu vào có giá trị không trống hay không, vì vậy chúng ta cần thực hiện gián tiếp, như được mô tả ở trên.
Nói chung, các bộ chọn CSS đề cập đến đánh dấu hoặc, trong một số trường hợp, thuộc tính phần tử như được đặt với tập lệnh (JavaScript phía máy khách), thay vì hành động của người dùng. Ví dụ: :empty
khớp phần tử với nội dung trống trong đánh dấu; tất cả các input
yếu tố là không thể tránh khỏi trống rỗng trong ý nghĩa này. Bộ chọn [value=""]
kiểm tra xem phần tử có value
thuộc tính trong đánh dấu và có chuỗi rỗng làm giá trị của nó không. Và :checked
và :indeterminate
những điều tương tự. Họ không bị ảnh hưởng bởi đầu vào người dùng thực tế.