2017-07-17 14:51:22 +00:00
---
2017-07-29 12:02:00 +00:00
title: Input
2017-07-17 14:51:22 +00:00
layout: documentation
doc-tab: form
doc-subtab: input
2018-04-09 15:15:58 +00:00
breadcrumb:
- home
- documentation
- form
- form-input
2017-10-17 09:28:59 +00:00
variables_keys:
2018-06-16 20:12:34 +00:00
- $input-color
- $input-background-color
- $input-border-color
- $input-shadow
- $input-hover-color
- $input-hover-border-color
- $input-focus-color
- $input-focus-border-color
- $input-focus-box-shadow-size
- $input-focus-box-shadow-color
- $input-disabled-color
- $input-disabled-background-color
- $input-disabled-border-color
- $input-arrow
- $input-icon-color
- $input-icon-active-color
- $input-radius
2018-04-09 15:15:58 +00:00
meta:
colors: true
sizes: true
variables: true
2017-07-17 14:51:22 +00:00
---
{% capture input_example %}
< input class = "input" type = "text" placeholder = "Text input" >
{% endcapture %}
2017-12-04 15:48:33 +00:00
{% capture rounded_example %}
< input class = "input is-rounded" type = "text" placeholder = "Rounded input" >
{% endcapture %}
2017-07-17 14:51:22 +00:00
{% capture normal_example %}
< div class = "control" >
< input class = "input" type = "text" placeholder = "Normal input" >
< / div >
{% endcapture %}
{% capture hover_example %}
< div class = "control" >
< input class = "input is-hovered" type = "text" placeholder = "Hovered input" >
< / div >
{% endcapture %}
{% capture focus_example %}
< div class = "control" >
< input class = "input is-focused" type = "text" placeholder = "Focused input" >
< / div >
{% endcapture %}
{% capture loading_example %}
< div class = "control is-loading" >
< input class = "input" type = "text" placeholder = "Loading input" >
< / div >
{% endcapture %}
{% capture loading_sizes_example %}
< div class = "field" >
< div class = "control is-small is-loading" >
< input class = "input is-small" type = "text" placeholder = "Small loading input" >
< / div >
< / div >
< div class = "field" >
< div class = "control is-loading" >
< input class = "input" type = "text" placeholder = "Normal loading input" >
< / div >
< / div >
< div class = "field" >
< div class = "control is-medium is-loading" >
< input class = "input is-medium" type = "text" placeholder = "Medium loading input" >
< / div >
< / div >
< div class = "field" >
< div class = "control is-large is-loading" >
< input class = "input is-large" type = "text" placeholder = "Large loading input" >
< / div >
< / div >
{% endcapture %}
{% capture disabled_example %}
< div class = "control" >
< input class = "input" type = "text" placeholder = "Disabled input" disabled >
< / div >
{% endcapture %}
2017-09-18 22:33:19 +00:00
{% capture readonly_example %}
< div class = "control" >
< input class = "input" type = "text" value = "This text is readonly" readonly >
< / div >
{% endcapture %}
{% capture static_example %}
< div class = "field is-horizontal" >
< div class = "field-label is-normal" >
< label class = "label" > From< / label >
< / div >
< div class = "field-body" >
< div class = "field" >
< p class = "control" >
< input class = "input is-static" type = "email" value = "me@example.com" readonly >
< / p >
< / div >
< / div >
< / div >
< div class = "field is-horizontal" >
< div class = "field-label is-normal" >
< label class = "label" > To< / label >
< / div >
< div class = "field-body" >
< div class = "field" >
< p class = "control" >
< input class = "input" type = "email" placeholder = "Recipient email" >
< / p >
< / div >
< / div >
< / div >
{% endcapture %}
2017-07-17 14:51:22 +00:00
{% capture icons_example %}
< div class = "field" >
< p class = "control has-icons-left has-icons-right" >
< input class = "input" type = "email" placeholder = "Email" >
< span class = "icon is-small is-left" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-envelope" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< span class = "icon is-small is-right" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-check" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< / p >
< / div >
< div class = "field" >
< p class = "control has-icons-left" >
< input class = "input" type = "password" placeholder = "Password" >
< span class = "icon is-small is-left" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-lock" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< / p >
< / div >
{% endcapture %}
{% capture has_icons_small_example %}
< div class = "control has-icons-left has-icons-right" >
< input class = "input is-small" type = "email" placeholder = "Email" >
< span class = "icon is-small is-left" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-envelope" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< span class = "icon is-small is-right" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-check" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< / div >
{% endcapture %}
{% capture has_icons_normal_example %}
< div class = "control has-icons-left has-icons-right" >
< input class = "input" type = "email" placeholder = "Email" >
< span class = "icon is-small is-left" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-envelope" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< span class = "icon is-small is-right" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-check" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< / div >
{% endcapture %}
{% capture has_icons_medium_example %}
< div class = "control has-icons-left has-icons-right" >
< input class = "input is-medium" type = "email" placeholder = "Email" >
< span class = "icon is-left" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-envelope" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< span class = "icon is-right" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-check" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< / div >
{% endcapture %}
{% capture has_icons_large_example %}
< div class = "control has-icons-left has-icons-right" >
< input class = "input is-large" type = "email" placeholder = "Email" >
< span class = "icon is-medium is-left" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-envelope" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< span class = "icon is-medium is-right" >
2018-01-10 16:30:23 +00:00
< i class = "fas fa-check" > < / i >
2017-07-17 14:51:22 +00:00
< / span >
< / div >
{% endcapture %}
2018-04-09 15:15:58 +00:00
< div class = "content" >
2019-10-13 19:06:56 +00:00
< p >
2019-10-20 11:46:29 +00:00
The Bulma < code > input< / code > CSS class is meant for < code > < input> < / code > HTML elements. The following < a href = "http://htmlreference.io/element/input/" target = "_blank" > type attributes< / a > are supported:
2019-10-13 19:06:56 +00:00
< / p >
2018-04-09 15:15:58 +00:00
< ul >
< li > < code > type="text"< / code > < / li >
< li > < code > type="password"< / code > < / li >
< li > < code > type="email"< / code > < / li >
< li > < code > type="tel"< / code > < / li >
< / ul >
2019-10-13 19:06:56 +00:00
< p >
Several < strong > modifiers< / strong > are supported which affect:
< / p >
< ul >
< li > the < strong > < a href = "#colors" > color< / a > < / strong > < / li >
< li > the < strong > < a href = "#sizes" > size< / a > < / strong > < / li >
< li > the < strong > < a href = "#states" > state< / a > < / strong > < / li >
< / ul >
2018-04-09 15:15:58 +00:00
< / div >
2017-07-17 14:51:22 +00:00
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{input_example}}
< / div >
2021-01-27 23:30:42 +00:00
< div class = "column is-half bd-highlight-full" >
2018-04-09 15:15:58 +00:00
{% highlight html %}{{input_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Colors" %}
2017-07-29 14:54:51 +00:00
2021-01-27 23:30:42 +00:00
{% for color in site.data.colors.justColors %}
{% capture foobar %}
< input class = "input is-{{ color }}" type = "text" placeholder = "{{ color | capitalize }} input" >
{% endcapture %}
{% include elements/snippet.html content=foobar %}
{% endfor %}
2017-07-17 14:51:22 +00:00
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Sizes" %}
2017-12-04 15:48:33 +00:00
2021-01-27 23:30:42 +00:00
{% for size in site.data.sizes %}
{% capture foobar %}
< input class = "input is-{{ size }}" type = "text" placeholder = "{{ size | capitalize }} input" >
{% endcapture %}
{% include elements/snippet.html content=foobar %}
{% endfor %}
2017-12-04 15:48:33 +00:00
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Styles" %}
2017-12-04 15:48:33 +00:00
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{ rounded_example }}
< / div >
< div class = "column is-half" >
{% highlight html %}{{ rounded_example }}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="States" %}
2017-07-17 14:51:22 +00:00
2021-01-27 23:30:42 +00:00
< h4 class = "title is-5" > Normal< / h4 >
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{normal_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{normal_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2021-01-27 23:30:42 +00:00
< h4 class = "title is-5" > Hover< / h4 >
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{hover_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{hover_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2021-01-27 23:30:42 +00:00
< h4 class = "title is-5" > Focus< / h4 >
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{focus_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{focus_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2021-01-27 23:30:42 +00:00
< h4 class = "title is-5" > Loading< / h4 >
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{loading_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{loading_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
2017-09-18 22:33:19 +00:00
< div class = "content" >
< p >
2018-04-09 15:15:58 +00:00
You can resize the loading spinner by appending < code > is-small< / code > , < code > is-medium< / code > or < code > is-large< / code > to the < code > control< / code > container.
2017-09-18 22:33:19 +00:00
< / p >
< / div >
2018-04-09 15:15:58 +00:00
{{loading_sizes_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{loading_sizes_example}}{% endhighlight %}
< / div >
< / div >
2017-09-18 22:33:19 +00:00
2021-01-27 23:30:42 +00:00
< h4 class = "title is-5" > Disabled< / h4 >
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{disabled_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{disabled_example}}{% endhighlight %}
< / div >
< / div >
2017-09-18 22:33:19 +00:00
2021-01-27 23:30:42 +00:00
< h4 class = "title is-5" > Readonly and static inputs< / h4 >
2020-03-29 06:20:05 +00:00
2018-04-09 15:15:58 +00:00
< div class = "content" >
< p >
If you use the < code > readonly< / code > HTML attribute, the input will look similar to a normal one, but is not editable and has no shadow.
< / p >
< / div >
< div class = "columns" >
< div class = "column is-half" >
{{ readonly_example }}
< / div >
< div class = "column is-half" >
{% highlight html %}{{ readonly_example }}{% endhighlight %}
< / div >
< / div >
2017-09-18 22:33:19 +00:00
2018-04-09 15:15:58 +00:00
< div class = "content" >
< p >
If you < em > also< / em > append the < code > is-static< / code > modifier, it removes the background, border, shadow, and horizontal padding, while maintaining the < strong > vertical spacing< / strong > so you can easily align the input in any context, like a horizontal form.
< / p >
< / div >
2017-07-17 14:51:22 +00:00
2018-04-09 15:15:58 +00:00
< div class = "bd-example" >
{{ static_example }}
< / div >
{% highlight html %}{{ static_example }}{% endhighlight %}
<!-- Font Awesome Icons -->
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="With Font Awesome icons" %}
2018-04-09 15:15:58 +00:00
< div class = "content" >
< p > You can append one of 2 < strong > modifiers< / strong > on a control:< / p >
< ul >
< li >
< code > has-icons-left< / code >
< / li >
< li >
and/or < code > has-icons-right< / code >
< / li >
< / ul >
< p > You also need to add a modifier on the < strong > icon< / strong > :< / p >
< ul >
< li >
< code > icon is-left< / code > if < code > has-icons-left< / code > is used
< / li >
< li >
< code > icon is-right< / code > if < code > has-icons-right< / code > is used
< / li >
< / ul >
< p > The size of the < strong > input< / strong > will define the size of the icon container.< / p >
< / div >
< div class = "columns" >
< div class = "column is-half" >
{{icons_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{icons_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
< div class = "content" >
< p >
If the control contains an icon, Bulma will make sure the icon remains < strong > centered< / strong > , no matter the size of the input < em > or< / em > of the icon.
< / p >
2017-07-17 14:51:22 +00:00
< / div >
2018-04-09 15:15:58 +00:00
{{has_icons_small_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{has_icons_small_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{has_icons_normal_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{has_icons_normal_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{has_icons_medium_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{has_icons_medium_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2018-04-09 15:15:58 +00:00
< div class = "columns" >
< div class = "column is-half" >
{{has_icons_large_example}}
< / div >
< div class = "column is-half" >
{% highlight html %}{{has_icons_large_example}}{% endhighlight %}
< / div >
< / div >
2017-07-17 14:51:22 +00:00
2021-01-27 23:30:42 +00:00
{% include components/variables.html type='element'
2018-06-19 12:33:54 +00:00
variables_keys=page.variables_keys
folder='elements'
file='form'
%}