Thay vì gắn nhãn cho từng trường trong biểu mẫu, đôi khi thích hợp hơn (từ quan điểm thiết kế) để có văn bản giữ chỗ trong mỗi trường. Ví dụ, thay vì có này:Văn bản trình giữ chỗ trong trường nhập bằng CSS chỉ (không có JavaScript)
----------------------------------
Full Name: | |
----------------------------------
bạn có điều này:
----------------------------------
| Full Name |
----------------------------------
Các khi bạn nhấp trong lĩnh vực này, các văn bản biến mất và bạn có thể viết bất cứ điều gì bạn muốn. Nếu bạn bỏ qua trường mà không nhập bất kỳ văn bản nào, thì trình giữ chỗ sẽ xuất hiện trở lại.
Tôi đã thấy điều này được thực hiện theo nhiều cách, nhưng tất cả các phương pháp đều liên quan đến JavaScript. Ví dụ: Twitter thực hiện một công việc tốt trên signup page nhưng nếu Javascript bị tắt, bạn sẽ nhập tên của mình trên từ 'Tên đầy đủ'.
Tôi đang tìm phương thức chỉ CSS có thể hoạt động ngay cả khi JavaScript bị tắt. Giải pháp tiềm năng duy nhất tôi đưa ra là đặt nền của thẻ <input>
thành hình ảnh của văn bản mong muốn và sau đó sử dụng lớp giả input:focus
để xóa hình nền khi ai đó nhấp vào hộp văn bản. Điều này dường như làm việc nhưng nó sẽ được tốt đẹp không phải sử dụng hình ảnh.
Có ai biết tài nguyên tốt về cách thực hiện việc này không?
Nó sẽ được tốt đẹp nếu bạn giải thích những gì thuộc tính placeholder làm cho những người không đầy đủ thông tin. Như tôi đã một phút trước. Tôi không nghĩ rằng cũ hơn CSS (pre-HTML5/CSS3 thời đại) có thể làm điều này ... – TheZ
Tôi nghĩ rằng bạn đang đẩy CSS vào các khu vực mà nó không thể (chưa) thực hiện các nhiệm vụ bạn đang mong đợi của nó. Có ... * khả năng * với ':: before' và' :: after' pseudo-elements, nhưng chúng không đáng tin cậy với các phần tử 'input', và bất kỳ trình duyệt nào thực hiện các phần tử giả cũng sẽ thực hiện' placeholder' thuộc tính. –
Bởi "người giữ chỗ" tôi đoán anh ta có nghĩa là một trường văn bản hiển thị văn bản ví dụ (Ví dụ: "Tên của bạn ở đây") cho đến khi người dùng chọn nó. – username