Labels
Labels are used to describe inputs, select menus, textareas, radio buttons, and checkboxes.
Classes
| Class | Description | Parent | Modifies |
|---|---|---|---|
.s-label | Base label style. | N/A | N/A |
.s-label__sm | Apply a small size. | N/A | .s-label |
.s-label__lg | Apply a large size. | N/A | .s-label |
Labels inform users what information is being asked of them. They should be written in sentence case.
For usability reasons, if a label is connected with an input, the for="[id]" attribute should be filled in. This attribute references the input's id="[value]" value. This makes clicking the label automatically focus the proper input.
Base style
<form class="s-form-group">
<label class="s-label" for="question-title">Question title</label>
<div class="d-flex ps-relative">
<input class="s-input" type="text" id="question-title" placeholder="e.g. Why doesn't Stack Overflow use a custom web font?"/>
</div>
</form> Sizes
| Class | Name | Size | Example |
|---|---|---|---|
.s-label__sm | Small | 14px | |
| N/A | Default | 16px | |
.s-label__lg | Large | 22px |
Description copy
When a label or input needs further explantation, text should be placed directly underneath it.
<form class="s-form-group">
<label class="s-label" for="example-item">
Question title
</label>
<p class="s-description">Clear question titles are more likely to get answered.</p>
<div class="d-flex ps-relative">
<input class="s-input" id="example-item" type="text" placeholder="e.g. Why doesn't Stack Overflow use a custom web font?" />
</div>
</form> Status
Use status indicators to append essential context to a label. This pattern supports any of the various badge states available. When using this indicator, display the full word ‘Required’ rather than an asterisk. Note: If the majority of a form’s inputs are required, prioritize the asterisk pattern outlined in Input Accessibility instead.
<form class="s-form-group">
<label class="s-label" for="question-title-required">Question title<span class="s-badge s-badge__danger">Required</span></label>
<div class="d-flex ps-relative">
<input class="s-input" type="text" id="question-title-required" placeholder="e.g. Why doesn't Stack Overflow use a custom web font?"/>
</div>
</form> <form class="s-form-group">
<label class="s-label" for="question-tags">Question tags<span class="s-badge">Optional</span></label>
<div class="d-flex ps-relative">
<input class="s-input" type="text" id="question-tags" placeholder="e.g. Why doesn't Stack Overflow use a custom web font?"/>
</div>
</form> <form class="s-form-group">
<label class="s-label" for="question-title-new">What is your favorite animal?<span class="s-badge s-badge__info">Saved for later</span></label>
<div class="d-flex ps-relative">
<input class="s-input" type="text" id="question-title-new" placeholder="e.g. hedgehog, platypus, sugar glider"/>
</div>
</form> <form class="s-form-group">
<label class="s-label" for="question-title-beta">Notify people<span class="s-badge s-badge__featured">New feature</span></label>
<div class="d-flex ps-relative">
<input class="s-input" type="text" id="question-title-beta" placeholder="e.g. jdoe, bgates, sjobs"/>
</div>
</form>