Skip to main content

Floating labels

Create beautifully simple form labels that float over your input fields.

Example

Wrap a <Form.Control> element in <FloatingLabel> to enable floating labels with Bootstrap’s textual form fields. A placeholder is required on each <Form.Control> as our method of CSS-only floating labels uses the :placeholder-shown pseudo-element.

Result
Loading...
Live Editor

Textareas

By default, <textarea>s will be the same height as <input>s. To set a custom height on your <textarea>, do not use the rows attribute. Instead, set an explicit height (either inline or via custom CSS).

Result
Loading...
Live Editor

Selects

Other than <Form.Control>, floating labels are only available on <Form.Select>s. They work in the same way, but unlike <input>s, they’ll always show the <label> in its floated state.

Result
Loading...
Live Editor

Layout

When working with the Bootstrap grid system, be sure to place form elements within column classes.

Result
Loading...
Live Editor

Customizing rendering

If you need greater control over the rendering, use the <FormFloating> component to wrap your input and label. Also note that the <Form.Control> must come first so we can utilize a sibling selector (e.g., ~).

Result
Loading...
Live Editor

API

FormFloating

FloatingLabel