Tôi muốn nói điều này đi ngược lại với "sự khôn ngoan thông thường", nhưng tôi thường thích sử dụng kích thước. Lý do cho điều này chính xác là lý do mà nhiều người nói không phải: độ rộng của trường sẽ thay đổi tùy theo trình duyệt, tùy thuộc vào kích thước phông chữ. Cụ thể, nó sẽ luôn đủ lớn để hiển thị số lượng ký tự được chỉ định, bất kể cài đặt trình duyệt.
Ví dụ: nếu tôi có trường ngày, tôi thường muốn trường đủ rộng để hiển thị 8 hoặc 10 ký tự (hai chữ số tháng và ngày và hai hoặc bốn chữ số năm, có dấu phân cách). Đặt thuộc tính kích thước về cơ bản đảm bảo với tôi rằng toàn bộ ngày sẽ hiển thị, với không gian lãng phí tối thiểu. Tương tự cho hầu hết các số - Tôi biết phạm vi giá trị dự kiến, vì vậy tôi sẽ đặt thuộc tính kích thước thành số chữ số thích hợp, cộng với dấu thập phân nếu có.
Theo như tôi có thể nói, không có thuộc tính CSS nào làm điều này. Chẳng hạn, đặt chiều rộng cho em dựa trên chiều cao chứ không phải chiều rộng và do đó không chính xác lắm nếu bạn muốn hiển thị một số ký tự đã biết.
Tất nhiên, logic này không phải lúc nào cũng được áp dụng - ví dụ, trường nhập tên có thể chứa bất kỳ số lượng ký tự nào. Trong những trường hợp đó, tôi sẽ quay trở lại các thuộc tính chiều rộng CSS, điển hình là px. Tuy nhiên, tôi sẽ nói rằng phần lớn các trường tôi tạo có một số loại nội dung đã biết và bằng cách chỉ định thuộc tính kích thước, tôi có thể đảm bảo rằng hầu hết nội dung, trong hầu hết các trường hợp, được hiển thị mà không bị cắt.