extends ../../_layout/default.pug
block canonical
link(rel='canonical' href='https://coreui.io/docs/forms/floating-labels/')
block breadcrumb
+breadcrumb(
[
{ href: '#', label: 'Home'},
{ label: 'Components'},
{ label: 'Forms'},
'Floating labels'
]
)
block view
+docs-components('https://coreui.io/docs/forms/floating-labels/')
.row
.col-12
.card.mb-4
.card-header
strong Floating labels
span.small.ms-1 Basic example
.card-body
p.text-body-secondary.small
| Wrap a pair of
code
= '<input class="form-control">'
| and
code
= '<label>'
| elements in
code .form-floating
| to enable floating labels with Bootstrap’s textual form fields. A
code placeholder
| is required on each
code
= '<input>'
| as our method of CSS-only floating labels uses the
code :placeholder-shown
| pseudo-element. Also note that the
code
= '<input>'
| must come first so we can utilize a sibling selector (e.g.,
code ~
| ).
+example('https://coreui.io/docs/forms/floating-labels/#example')
.form-floating.mb-3
input.form-control#floatingInput(type='email' placeholder='name@example.com')
label(for='floatingInput') Email address
.form-floating
input.form-control#floatingPassword(type='password' placeholder='Password')
label(for='floatingPassword') Password
p.text-body-secondary.small
| When there’s a
code value
| already defined,
code
= '<label>'
| s will automatically adjust to their floated position.
+example('https://coreui.io/docs/forms/floating-labels/#example')
form.form-floating
input.form-control#floatingInputValue(type='email' placeholder='name@example.com' value='test@example.com')
label(for='floatingInputValue') Input with value
p.text-body-secondary.small Form validation styles also work as expected.
+example('https://coreui.io/docs/forms/floating-labels/#example')
form.form-floating
input.form-control.is-invalid#floatingInputInvalid(type='email' placeholder='name@example.com' value='test@example.com')
label(for='floatingInputInvalid') Invalid input
.col-12
.card.mb-4
.card-header
strong Floating labels
span.small.ms-1 Textareas
.card-body
p.text-body-secondary.small
| By default,
code
= '<textarea>'
| s with
code .form-control
| will be the same height as
code
= '<input>'
| s.
+example('https://coreui.io/docs/forms/floating-labels/#textareas')
.form-floating
textarea.form-control#floatingTextarea(placeholder='Leave a comment here')
label(for='floatingTextarea') Comments
p.text-body-secondary.small
| To set a custom height on your
code
= '<textarea>'
| , do not use the
code rows
| attribute. Instead, set an explicit
code height
| (either inline or via custom CSS).
+example('https://coreui.io/docs/forms/floating-labels/#textareas')
.form-floating
textarea.form-control#floatingTextarea2(placeholder='Leave a comment here' style='height: 100px')
label(for='floatingTextarea2') Comments
.col-12
.card.mb-4
.card-header
strong Floating labels
span.small.ms-1 Selects
.card-body
p.text-body-secondary.small
| Other than
code .form-control
| , floating labels are only available on
code .form-select
| s. They work in the same way, but unlike
code
= '<input>'
| s, they’ll always show the
code
= '<label>'
| in its floated state.
strong
| Selects with
code size
| and
code multiple
| are not supported.
+example('https://coreui.io/docs/forms/floating-labels/#selects')
.form-floating
select.form-select#floatingSelect(aria-label='Floating label select example')
option(selected) Open this select menu
option(value='1') One
option(value='2') Two
option(value='3') Three
label(for='floatingSelect') Works with selects
.col-12
.card.mb-4
.card-header
strong Floating labels
span.small.ms-1 Layout
.card-body
p.text-body-secondary.small When working with the CoreUI for Bootstrap grid system, be sure to place form elements within column classes.
+example('https://coreui.io/docs/forms/floating-labels/#layout')
.row.g-2
.col-md
.form-floating
input.form-control#floatingInputGrid(type='email' placeholder='name@example.com' value='mdo@example.com')
label(for='floatingInputGrid') Email address
.col-md
.form-floating
select.form-select#floatingSelectGrid(aria-label='Floating label select example')
option(selected) Open this select menu
option(value='1') One
option(value='2') Two
option(value='3') Three
label(for='floatingSelectGrid') Works with selects