CSS nhãn nổi

Khi nói đến việc tạo biểu mẫu trên trang web, khả năng truy cập và thiết kế phải đi đôi với nhau. Lý tưởng nhất là mọi trường nhập phải có nhãn liên quan và trình giữ chỗ, nếu cần. Tuy nhiên, từ góc độ thiết kế, điều này có thể khiến một biểu mẫu trông khá nặng văn bản

Nhãn dưới dạng trình giữ chỗ, đôi khi được gọi là nhãn nổi, là một lựa chọn thiết kế phổ biến để tạo biểu mẫu tối giản và dễ tiếp cận. Phương pháp này cũng thường được sử dụng trong các hệ thống thiết kế phổ biến như Bootstrap và Material Design [hiển thị bên dưới]

Nhãn nổi Bootstrap
Tùy chọn nhãn nổi trên biểu mẫu Material Design

Trong hướng dẫn này, chúng tôi sẽ tạo lại nhãn nổi được sử dụng trong các trường văn bản Thiết kế Vật liệu bằng cách sử dụng CSS và vanilla JavaScript

Vật liệu thiết kế nhãn nổi

Đây là kết quả cuối cùng trông như thế nào

Bắt đầu với đánh dấu HTML biểu mẫu

Đầu tiên, chúng tôi tạo đánh dấu cho biểu mẫu Thiết kế Vật liệu của chúng tôi bao gồm nhãn và trường văn bản đầu vào.  

Chúng tôi sẽ không thực sự sử dụng thư viện Thiết kế Vật liệu để đánh dấu hoặc tạo kiểu, thay vào đó chúng tôi sẽ tự tạo lại giao diện và hành vi

1
  
2
    
3
    First Name
4
  
5

Điều quan trọng là liên kết nhãn với các trường đầu vào có liên quan của chúng bằng cách sử dụng thuộc tính

2
23 và
2
24 của đầu vào. Điều này được sử dụng bởi trình đọc màn hình để truyền đạt các chi tiết của biểu mẫu

Sử dụng , chúng ta có thể thấy cách các nhãn và đầu vào được liên kết trong phần đánh dấu biểu mẫu ở trên

Mẫu thiết kế vật liệu CSS

Kiểu dáng quan trọng nhất cho nhãn nổi là làm cho nhãn được định vị tuyệt đối bên trong phần tử cha tương đối. Chúng tôi muốn có thể di chuyển nhãn của mình xung quanh vùng chứa đầu vào mà không làm gián đoạn luồng các phần tử

1
  
1
2
1_______3_______4_______
  
5
4
1_______7
5
1_______9
2
0
2
1
2
2
2
3
2
4
2
5
2
6
2
7
2
8_______2_______9_______1_______7

Nhãn nổi trên tiêu điểm

Chúng tôi cũng muốn làm nổi nhãn bất cứ khi nào người dùng nhấp vào đầu vào. Chúng ta có thể làm điều này bằng cách sử dụng bộ chọn

2
25 và
2
26. Khi đầu vào được tập trung vào, chúng tôi thay đổi vị trí, kích thước và màu sắc của nhãn

1
    
2
2
    
4_______4_______
    
6
4
  
7

Ghi chú. Điều này hoạt động vì nhãn là phần tử tiếp theo ngay sau trường đầu vào. Bộ chọn cộng nhắm mục tiêu phần tử ngay lập tức tiếp theo để nó không hoạt động nếu nhãn được đặt trước đầu vào hoặc phần tử khác được đặt ở giữa hai phần tử

Nhãn nổi với đầu vào của người dùng

Một tính năng khác của nhãn nổi là nó vẫn nổi nếu đầu vào có giá trị, ngay cả khi người dùng không còn tập trung vào đầu vào

Chúng ta có thể đạt được điều này bằng cách sử dụng bộ chọn CSS

2
27 và thuộc tính
2
28 trong phần đánh dấu HTML

Chúng tôi sử dụng bộ chọn hợp lệ cho các đầu vào bắt buộc để phát hiện xem đầu vào có giá trị hay không.  

1
3
0_______2_______
3
2_______4_______
    
4
4
  
7

Với điều này, nhãn vẫn nổi khi đầu vào được tập trung hoặc có giá trị

Thật không may, có một số nhược điểm khi sử dụng bộ chọn hợp lệ. Ví dụ: nếu bộ chọn hợp lệ được sử dụng cho mục nhập email, thì mục nhập được coi là không hợp lệ nếu giá trị không ở định dạng email.  

ôi

Chúng ta có thể giải quyết vấn đề này bằng một chút JavaScript

Thêm Trình xử lý sự kiện JavaScript

Chúng tôi sử dụng JavaScript để phát hiện xem đầu vào có giá trị hay không bất cứ khi nào người dùng điều hướng khỏi nó

1
3
8
2
3
    First Name
1
4
___
    First Name
3
5
5_______5
  
9
    First Name
7
2
1
    First Name
9
2
3
4
1
2
5
4
3
2
7
4
5_______2_______9_______6_______7

Bất cứ khi nào đầu vào mất tiêu điểm, chúng tôi sẽ kiểm tra xem nó có chứa giá trị không. Nếu có, chúng tôi thêm lớp

2
29, nếu không, chúng tôi xóa lớp hợp lệ. Chúng tôi có thể cập nhật kiểu dáng CSS của mình để làm nổi nhãn với lớp
2
29

1
3
0
2
  
1
3
    
4
4
  
7

Với điều này, chúng tôi đã triển khai thiết kế nhãn nổi

Đây là CSS hoàn chỉnh để tạo lại giao diện biểu mẫu Thiết kế Vật liệu

1
  
7
2
  
9
3
5
1
4
5
3
5
5
5
  
9
5
7
2
1
5
9
2
3
  
7
2
5
2
7

4
2
9

6

7
5
3

9
  
00
  
01
  
02
  
03
  
04
  
05
  
06
  
07
  
08
  
09
  
10
  
11
  
12
  
13
  
14
  
15
  
7
  
17
  
18
  
1
  
20
  
21
  
22
  
3
  
24
  
25
  
26
  
5
  
28
  
29
  
30
  
7
  
32________

Nhãn nổi thiết kế Material Design của bạn đã hoàn tất

Như với hầu hết các mẫu thiết kế, các nhãn nổi đã gây ra nhiều cuộc tranh luận. Miễn là bạn làm cho biểu mẫu của mình có thể truy cập và dễ sử dụng, bạn có thể sử dụng bất kỳ mẫu thiết kế nào bạn thích. Hy vọng, hướng dẫn này đóng vai trò là hướng dẫn hữu ích nếu bạn chọn sử dụng nhãn nổi

Thêm hướng dẫn thiết kế biểu mẫu

Tìm hiểu thêm về các mẫu thiết kế biểu mẫu, nhãn nổi, biểu mẫu Material Design và khả năng truy cập biểu mẫu tại đây trên Tuts+

Nhãn nổi là gì?

Nhãn nổi hiển thị loại đầu vào mà trường yêu cầu . Mỗi Trường văn bản và Chọn phải có nhãn, ngoại trừ các trường văn bản có chiều rộng đầy đủ, thay vào đó sử dụng thuộc tính giữ chỗ của đầu vào. Nhãn được căn chỉnh với dòng đầu vào và luôn hiển thị.

Làm cách nào để thả nổi trình giữ chỗ trong HTML?

Ví dụ Trình giữ chỗ đầu vào nổi lên đầu

Tên của bạn
.

Các nhãn nổi có thể truy cập được không?

Khả năng đọc nhãn . Kích thước nhãn nhỏ khiến văn bản khó đọc khi người dùng cần kiểm tra hoặc sửa thông tin nhập của họ. Người dùng thị lực kém sẽ gặp khó khăn nhất để đọc các nhãn văn bản nhỏ. the label isn't treated with importance after active field selection. The tiny label size makes the text hard to read when users need to check or correct their input. Low vision users will struggle the most to read the tiny text labels.

bootstrap dạng nổi là gì?

"form-floating" hoạt động để bật nhãn nổi với các trường biểu mẫu văn bản trong phiên bản Bootstrap 5 . Nhãn nổi bootstrap 5 là nhãn văn bản hiển thị ở kích thước phông chữ đầy đủ trong trường nhập liệu. Nhãn "nổi" phía trên trường nhập khi tương tác, cho phép người dùng nhập giá trị.

Chủ Đề