The CSS field-sizing property controls how form fields—like<input> and <textarea>—determine their width and height. It is part of the evolving **Web Form Controls** specifications and gives developers predictable sizing behavior without manually calculating text dimensions.
Note
✔ Useful for autosizing text areas or compact inputs
✔ Simplifies responsive layouts for form controls
📦 Syntax
field-sizing syntax
field-sizing: content | fixed;| Value | Description |
|---|---|
| content | Field expands based on the content inside it |
| fixed | Field uses its assigned CSS box model size (default) |
🎨 1. field-sizing: content
The field grows automatically based on the content typed inside it. This is extremely helpful for autosizing textareas and dynamic inputs.
Autosizing input
input {
field-sizing: content;
}Autosizing textarea
textarea {
field-sizing: content;
resize: none; /* optional: prevent drag resizing */
}The height or width will adjust based on internal content—no JS required.
🎨 2. field-sizing: fixed (default)
The element uses the assigned CSS width/height, ignoring internal content.
Fixed size field
input {
field-sizing: fixed; /* default behavior */
width: 200px;
}🎨 3. Perfect for Minimal or Inline Forms
Inline auto-grow input
.inline-input {
field-sizing: content;
border: 1px solid #ccc;
padding: 6px;
}Great for search bars, tag editors, or chat input fields.
🎨 4. Auto-Growing Chat Input
Chat textarea
.chat-input {
field-sizing: content;
min-height: 40px;
max-height: 200px;
resize: none;
}🧪 Real-World Use Cases
1️⃣ Dynamic Input Width (Tags, Chips)
Tag input
.tag-input {
field-sizing: content;
}2️⃣ Autosizing Forms
Responsive form
.form-field {
field-sizing: content;
min-width: 150px;
}3️⃣ Clean UI for Search Bars
Search input
.search-box {
field-sizing: content;
padding: 8px 12px;
}⚠️ Browser Support Note
field-sizing is a **new property** and browser support may be limited or experimental.
Note
⚠️ Common Mistakes
- ❌ Expecting it to work on non-form elements
- ❌ Using field-sizing: content without limits (may grow too large)
- ❌ Forgetting to set resize: none when needed
🔥 Summary
field-sizing is a modern CSS property that finally gives developers control over how form fields size themselves. Whether you're building chat apps, search bars, tag editors, or responsive forms,field-sizing reduces the need for JavaScript autosizing hacks.