<div class="content">
<p>
- The <code>.file</code> element is a simple <strong>interactive label</strong> that wraps an <code><input type="file"></code>. It comprises several sub-elements:
+ The <code>file</code> element is a simple <strong>interactive label</strong> that wraps an <code><input type="file"></code>. It comprises several sub-elements:
</p>
<ul>
<li>
- <code>.file</code> the main <strong>container</strong>
+ <code>file</code> the main <strong>container</strong>
<ul>
<li>
- <code>.file-label</code> the actual <strong>interactive</strong> and clickable part of the element
+ <code>file-label</code> the actual <strong>interactive</strong> and clickable part of the element
<ul>
<li>
- <code>.file-input</code> the <strong>native</strong> file input, hidden for styling purposes
+ <code>file-input</code> the <strong>native</strong> file input, hidden for styling purposes
</li>
<li>
- <code>.file-cta</code> the upload <strong>call-to-action</strong>
+ <code>file-cta</code> the upload <strong>call-to-action</strong>
<ul>
<li>
- <code>.file-icon</code> an optional <strong>upload</strong> icon
+ <code>file-icon</code> an optional <strong>upload</strong> icon
</li>
<li>
- <code>.file-label</code> the "Choose a file…" text
+ <code>file-label</code> the "Choose a file…" text
</li>
</ul>
</li>
<li>
- <code>.file-name</code> a container for the <strong>chosen file</strong> name
+ <code>file-name</code> a container for the <strong>chosen file</strong> name
</li>
</ul>
</li>
<div class="column">
<div class="content">
<p>
- With the <code>.has-name</code> modifier combined with the <code>.file-name</code> element, you can add a <strong>placeholder</strong> for the selected file name.
+ With the <code>has-name</code> modifier combined with the <code>file-name</code> element, you can add a <strong>placeholder</strong> for the selected file name.
</p>
</div>
<div class="bd-example">
<div class="column">
<div class="content">
<p>
- You can move the CTA to the <strong>right side</strong> with the <code>.is-right</code> modifier.
+ You can move the CTA to the <strong>right side</strong> with the <code>is-right</code> modifier.
</p>
</div>
<div class="bd-example">
<div class="column">
<div class="content">
<p>
- You can also <strong>expand</strong> the name to fill up the space with the <code>.is-fullwidth</code> modifier.
+ You can also <strong>expand</strong> the name to fill up the space with the <code>is-fullwidth</code> modifier.
</p>
</div>
<div class="bd-example">
<div class="column">
<div class="content">
<p>
- You can have a <strong>boxed block</strong> with the <code>.is-boxed</code> modifier.
+ You can have a <strong>boxed block</strong> with the <code>is-boxed</code> modifier.
</p>
</div>
<div class="bd-example">
<div class="column">
<div class="content">
<p>
- You can <strong>combine</strong> <code>.has-name</code> and <code>.is-boxed</code>.
+ You can <strong>combine</strong> <code>has-name</code> and <code>is-boxed</code>.
</p>
</div>
<div class="bd-example">
</p>
<ul>
<li>
- <code>.is-small</code>
+ <code>is-small</code>
</li>
<li>
- <code>.is-medium</code>
+ <code>is-medium</code>
</li>
<li>
- <code>.is-large</code>
+ <code>is-large</code>
</li>
</ul>
</div>
</div>
{% endcapture %}
+{% capture control_example %}
+<div class="control">
+ <input class="input" type="text" placeholder="Text input">
+</div>
+{% endcapture %}
+
{% capture field_example %}
<div class="field">
<label class="label">Label</label>
{% endcapture %}
<div class="content">
- <p>The following form controls <strong>classes</strong> are supported:</p>
+ <p>
+ Bulma supports the following native <strong>HTML form elements</strong>: <code><form></code> <code><button></code> <code><input></code> <code><textarea></code> and <code><label></code>.
+ </p>
+ <p>
+ The following CSS <strong>classes</strong> are supported:
+ </p>
<ul>
- <li><code>.label</code></li>
- <li><code>.input</code></li>
- <li><code>.textarea</code></li>
- <li><code>.select</code></li>
- <li><code>.checkbox</code></li>
- <li><code>.radio</code></li>
- <li><code>.button</code></li>
- <li><code>.help</code></li>
+ <li><code>label</code></li>
+ <li><code>input</code></li>
+ <li><code>textarea</code></li>
+ <li><code>select</code></li>
+ <li><code>checkbox</code></li>
+ <li><code>radio</code></li>
+ <li><code>button</code></li>
+ <li><code>help</code></li>
</ul>
- <p>Each of them should be wrapped in a <code>.control</code> container.<br>
- When combining several controls in a <strong>form</strong>, use the <code>.field</code> class as a <strong>container</strong>, to keep the spacing consistent.</p>
</div>
+<div class="content">
+ <p>
+ To maintain the design evenly balanced, Bulma provides a very useful <code>control</code> container with which you can <strong>wrap</strong> the form controls.
+ <br>
+ When combining several controls in a <strong>form</strong>, use the <code>field</code> class as a <strong>container</strong>, to keep the spacing consistent.
+ </p>
+</div>
+
+{% include elements/anchor.html name="Complete form example" %}
+
{% include elements/snippet.html content=example more=true %}
+{% include elements/anchor.html name="Form control" %}
+
+<div class="content">
+ <p>
+ The <code>control</code> element is a wrapper for form controls. It gives the possibility to:
+ </p>
+ <ul>
+ <li>
+ resize form controls
+ </li>
+ <li>
+ combine form controls into a group
+ </li>
+ <li>
+ combine form controls into a list
+ </li>
+ <li>
+ append and prepend icons to a form control
+ </li>
+ </ul>
+</div>
+
+{% include elements/snippet.html content=control_example %}
+
+<div class="content">
+ <p>
+ For the best results using Bulma, it's recommended to use the <code>control</code> element as often as possible.
+ </p>
+</div>
+
{% include elements/anchor.html name="Form field" %}
<div class="content">
<div class="content">
<p>
- To preserve the <strong>vertical alignment</strong> of labels with each type and size of control, the <code>.field-label</code> comes with <strong>4 size modifiers</strong>:
+ To preserve the <strong>vertical alignment</strong> of labels with each type and size of control, the <code>field-label</code> comes with <strong>4 size modifiers</strong>:
</p>
<ul>
<li>
- <code>.is-small</code>
+ <code>is-small</code>
</li>
<li>
- <code>.is-normal</code> for any <code>.input</code> or <code>.button</code>
+ <code>is-normal</code> for any <code>input</code> or <code>button</code>
</li>
<li>
- <code>.is-medium</code>
+ <code>is-medium</code>
</li>
<li>
- <code>.is-large</code>
+ <code>is-large</code>
</li>
</ul>
</div>
{% endcapture %}
<div class="content">
- <p>The following <strong>modifiers</strong> are supported:</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>
- <p>The following <a href="http://htmlreference.io/element/input/" target="_blank">type attributes</a> are supported:</p>
+ <p>
+ 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:
+ </p>
<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>
+ <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>
</div>
<div class="columns">
{% endcapture %}
<div class="content">
- <p>The following <strong>modifiers</strong> are supported:</p>
- <ul>
- <li>the <strong><a href="#select-color">color</a></strong></li>
- <li>the <strong><a href="#select-size">size</a></strong></li>
- <li>the <strong><a href="#select-state">state</a></strong></li>
- </ul>
+ <p>
+ The <code>select</code> class is a simple wrapper around the <code><select"></code> HTML element, which gives the styling more flexibility and support for icons.
+ </p>
</div>
<div class="columns">
<div class="column is-half">
- {{select_example}}
+ {{ select_example }}
</div>
<div class="column is-half highlight-full">
- {% highlight html %}{{select_example}}{% endhighlight %}
+ {% highlight html %}{{ select_example }}{% endhighlight %}
</div>
</div>
-<hr>
+<div class="content">
+ <p>Several <strong>modifiers</strong> are supported which affect:</p>
+ <ul>
+ <li>the <strong><a href="#select-color">color</a></strong></li>
+ <li>the <strong><a href="#select-size">size</a></strong></li>
+ <li>the <strong><a href="#select-state">state</a></strong></li>
+ </ul>
+</div>
-<h3 class="title">Multiple select</h3>
+{% include elements/anchor.html name="Multiple select" %}
<div class="columns">
<div class="column is-half">
You can style a <strong>multiple select</strong> dropdown, by using the <code>is-multiple</code> modifier, and by using the <code>multiple</code> HTML attribute.
</p>
</div>
- {{select_multiple_example}}
+ {{ select_multiple_example }}
</div>
<div class="column is-half highlight-full">
- {% highlight html %}{{select_multiple_example}}{% endhighlight %}
+ {% highlight html %}{{ select_multiple_example }}{% endhighlight %}
</div>
</div>
<div class="columns">
<div class="column is-half">
- {{colors_example}}
+ {{ colors_example }}
</div>
<div class="column is-half highlight-full">
- {% highlight html %}{{colors_example}}{% endhighlight %}
+ {% highlight html %}{{ colors_example }}{% endhighlight %}
</div>
</div>
{% include elements/new-tag.html version="0.6.2" %}
+<div class="content">
+ <p>
+ You can create a <strong>rounded dropdown</strong> by appending the <code>is-rounded</code> modifier:
+ </p>
+</div>
+
<div class="columns">
<div class="column is-half">
{{ rounded_example }}
{% include elements/anchor.html name="Sizes" %}
+<div class="content">
+ <p>
+ The <code>select</code> element comes in <strong>4</strong> different sizes:
+ </p>
+</div>
+
<div class="columns">
<div class="column is-half">
- {{sizes_example}}
+ {{ sizes_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{sizes_example}}{% endhighlight %}
+ {% highlight html %}{{ sizes_example }}{% endhighlight %}
</div>
</div>
-<hr>
+{% include elements/anchor.html name="States" %}
+
+<div class="content">
+ <p>
+ Bulma styles the different <strong>states</strong> of the <code>select</code> elment. Each state is available as a pseudo-class and a CSS class:
+ </p>
+ <ul>
+ <li>
+ <code>:hover</code> and <code>is-hovered</code>
+ </li>
+ <li>
+ <code>:focus</code> and <code>is-focused</code>
+ </li>
+ <li>
+ <code>:active</code> and <code>is-active</code>
+ </li>
+ </ul>
+ <p>
+ This allows you to obtain the style of a certain state without having to trigger it.
+ </p>
+</div>
-<h3 id="select-state" class="title">States</h3>
<h4 class="subtitle">Normal</h4>
+
<div class="columns">
<div class="column is-half">
- {{normal_example}}
+ {{ normal_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{normal_example}}{% endhighlight %}
+ {% highlight html %}{{ normal_example }}{% endhighlight %}
</div>
</div>
<h4 class="subtitle">Hover</h4>
<div class="columns">
<div class="column is-half">
- {{hover_example}}
+ {{ hover_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{hover_example}}{% endhighlight %}
+ {% highlight html %}{{ hover_example }}{% endhighlight %}
</div>
</div>
<h4 class="subtitle">Focus</h4>
<div class="columns">
<div class="column is-half">
- {{focus_example}}
+ {{ focus_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{focus_example}}{% endhighlight %}
+ {% highlight html %}{{ focus_example }}{% endhighlight %}
</div>
</div>
<h4 class="subtitle">Loading</h4>
<div class="columns">
<div class="column is-half">
- {{loading_example}}
+ {{ loading_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{loading_example}}{% endhighlight %}
+ {% highlight html %}{{ loading_example }}{% endhighlight %}
</div>
</div>
-<!-- Font Awesome Icons -->
-<hr>
+{% include elements/anchor.html name="With icons" %}
-<h3 id="input-with-icons" class="title">With icons</h3>
<div class="content">
<p>You can append the <strong>modifier</strong> on a control:</p>
<ul>
</div>
<div class="columns">
<div class="column is-half">
- {{icons_example}}
+ {{ icons_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{icons_example}}{% endhighlight %}
+ {% highlight html %}{{ icons_example }}{% endhighlight %}
</div>
</div>
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>
</div>
- {{has_icons_small_example}}
+ {{ has_icons_small_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{has_icons_small_example}}{% endhighlight %}
+ {% highlight html %}{{ has_icons_small_example }}{% endhighlight %}
</div>
</div>
<div class="columns">
<div class="column is-half">
- {{has_icons_normal_example}}
+ {{ has_icons_normal_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{has_icons_normal_example}}{% endhighlight %}
+ {% highlight html %}{{ has_icons_normal_example }}{% endhighlight %}
</div>
</div>
<div class="columns">
<div class="column is-half">
- {{has_icons_medium_example}}
+ {{ has_icons_medium_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{has_icons_medium_example}}{% endhighlight %}
+ {% highlight html %}{{ has_icons_medium_example }}{% endhighlight %}
</div>
</div>
<div class="columns">
<div class="column is-half">
- {{has_icons_large_example}}
+ {{ has_icons_large_example }}
</div>
<div class="column is-half">
- {% highlight html %}{{has_icons_large_example}}{% endhighlight %}
+ {% highlight html %}{{ has_icons_large_example }}{% endhighlight %}
</div>
</div>
</div>
{% endcapture %}
+<div class="content">
+ <p>
+ The Bulma <code>textarea</code> CSS class is the multiline version of the <a href="{{ site.data.links.by_id.form-input.path }}"><code>input</code> element</a>:
+ </p>
+</div>
+
{% include elements/snippet.html content=textarea_example %}
{% capture fixedsize_example %}
<div class="content">
<p>
- You can set the height of the textarea using the `rows` HTML attribute.
+ You can set the height of the textarea using the <code>rows</code> HTML attribute.
</p>
</div>
{% include elements/anchor.html name="Colors" %}
+<div class="content">
+ <p>
+ The <code>textarea</code> element is available in several colors:
+ </p>
+</div>
+
{% include elements/snippet.html content=colors_example %}
{% include elements/anchor.html name="Sizes" %}
+<div class="content">
+ <p>
+ The <code>textarea</code> element comes in <strong>4 different sizes:</strong>
+ </p>
+</div>
+
{% include elements/snippet.html content=sizes_example %}
{% include elements/anchor.html name="States" %}
+<div class="content">
+ <p>
+ Bulma styles the different <strong>states</strong> of the <code>textarea</code> elment. Each state is available as a pseudo-class and a CSS class:
+ </p>
+ <ul>
+ <li>
+ <code>:hover</code> and <code>is-hovered</code>
+ </li>
+ <li>
+ <code>:focus</code> and <code>is-focused</code>
+ </li>
+ <li>
+ <code>:active</code> and <code>is-active</code>
+ </li>
+ </ul>
+ <p>
+ This allows you to obtain the style of a certain state without having to trigger it.
+ </p>
+</div>
+
<h4 class="subtitle">Normal</h4>
{% include elements/snippet.html content=normal_example %}
<h4 class="subtitle">Fixed Size</h4>
+<div class="content">
+ <p>
+ You can disable a <code>textarea</code> resizing by appending the <code>has-fixed-size</code> modifier:
+ </p>
+</div>
+
{% include elements/snippet.html content=fixedsize_example %}