TaskBuild a feedback form: <label for='msg'>Message</label> + <textarea id='msg' name='message' rows='5' maxlength='1000' placeholder='Tell us'></textarea>.
<textarea>: multi-line text
60 XP5 min
Theory
The two attributes worth knowing
<textarea name="bio" rows="4" cols="40" placeholder="Tell us about yourself" maxlength="500"></textarea>
rowsβ visible lines (height hint). Browser still allows scrolling beyond.colsβ visible columns (width hint). Most modern designs override with CSSwidth: 100%instead.maxlengthβ hard cap on characters, same as<input>.placeholderβ gray hint shown when empty.
NOT self-closing
<textarea /> doesn't work the way <input /> does. <textarea> must have an opening and closing tag β and the initial value goes between them:
<textarea name="message">Default text here</textarea>
White space matters β leading/trailing newlines inside the tag are included in the value.
Resize via CSS, not HTML
textarea { resize: vertical; } /* allow vertical drag only */
textarea { resize: none; } /* disable drag handle */resize: both is the browser default. Disable horizontal resize on narrow layouts to prevent users from breaking your design.
π
Sign up to start coding
Theory is open to everyone. The interactive editor, live preview, and check are unlocked with a 7-day free trial β card required, cancel anytime.
Sign up β free trial βFirst 10 lessons in each track are free. No card needed for those.