2016-09-11 11:00:49 +00:00
---
2017-07-29 12:02:00 +00:00
title: Icon
2019-12-10 23:41:38 +00:00
subtitle: "Bulma is compatible with < strong > all icon font libraries< / strong > : < a href = \"https://fontawesome.com/\" > Font Awesome 5< / a > , < a href = \"http://fontawesome.io/\" > Font Awesome 4< / a > , < a href = \"https://materialdesignicons.com\" > Material Design Icons< / a > , < a href = \"http://ionicons.com/\" > Ionicons< / a > , etc."
2018-01-10 16:30:23 +00:00
fontawesome4: true
2017-09-10 15:32:55 +00:00
ionicons: true
2017-09-09 16:32:12 +00:00
mdi: true
2016-09-11 11:00:49 +00:00
layout: documentation
doc-tab: elements
doc-subtab: icon
2018-04-09 13:15:31 +00:00
breadcrumb:
- home
- documentation
- elements
- elements-icon
meta:
colors: true
sizes: true
variables: true
2016-09-11 11:00:49 +00:00
---
2017-07-28 21:57:51 +00:00
{% capture icon_example %}
< span class = "icon" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-home" > < / i >
2017-07-28 21:57:51 +00:00
< / span >
{% endcapture %}
2017-09-10 15:32:55 +00:00
{% capture icon_color_example %}
< span class = "icon has-text-info" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-info-circle" > < / i >
2017-09-10 15:32:55 +00:00
< / span >
< span class = "icon has-text-success" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-check-square" > < / i >
2017-09-10 15:32:55 +00:00
< / span >
< span class = "icon has-text-warning" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-exclamation-triangle" > < / i >
2017-09-10 15:32:55 +00:00
< / span >
< span class = "icon has-text-danger" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-ban" > < / i >
2017-09-10 15:32:55 +00:00
< / span >
{% endcapture %}
2017-09-09 16:32:12 +00:00
{% capture icon_sizes_example %}
< span class = "icon" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-camera-retro fa-lg" > < / i >
2017-09-09 16:32:12 +00:00
< / span >
< span class = "icon" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-camera-retro fa-2x" > < / i >
2017-09-09 16:32:12 +00:00
< / span >
< span class = "icon" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-camera-retro fa-3x" > < / i >
2017-09-09 16:32:12 +00:00
< / span >
< span class = "icon" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-camera-retro fa-4x" > < / i >
2017-09-09 16:32:12 +00:00
< / span >
< span class = "icon" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-camera-retro fa-5x" > < / i >
2017-09-09 16:32:12 +00:00
< / span >
{% endcapture %}
2018-04-09 13:15:31 +00:00
{% capture stacked_medium %}
< span class = "icon is-medium" >
2017-09-09 16:32:12 +00:00
< span class = "fa-stack" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-circle fa-stack-2x" > < / i >
< i class = "fas fa-flag fa-stack-1x fa-inverse" > < / i >
2017-09-09 16:32:12 +00:00
< / span >
2018-04-09 13:15:31 +00:00
< / span >
{% endcapture %}
{% capture stacked_large %}
< span class = "icon is-large" >
2017-09-09 16:32:12 +00:00
< span class = "fa-stack fa-lg" >
2018-01-10 16:45:05 +00:00
< i class = "fas fa-camera fa-stack-1x" > < / i >
< i class = "fas fa-ban fa-stack-2x has-text-danger" > < / i >
2017-09-09 16:32:12 +00:00
< / span >
2018-04-09 13:15:31 +00:00
< / span >
{% endcapture %}
2017-09-10 15:32:55 +00:00
2018-04-09 13:15:31 +00:00
< div class = "content" >
< p >
The < code > icon< / code > element is a < strong > container< / strong > for any type of < strong > icon font< / strong > . Because the icons can take a few seconds to load, and because you want control over the < strong > space< / strong > the icons will take, you can use the < code > icon< / code > class as a reliable square container that will prevent the page to "jump" on page load.< / p >
< / div >
2017-09-10 15:32:55 +00:00
2018-04-09 13:15:31 +00:00
< div class = "block bd-icon-size" >
2018-04-09 21:25:26 +00:00
{% include elements/snippet.html content=icon_example %}
2018-04-09 13:15:31 +00:00
< / div >
2017-07-28 21:57:51 +00:00
2018-04-09 13:15:31 +00:00
< div class = "message is-info" >
< div class = "message-body" >
The < strong > yellow background< / strong > is only here for demonstration purposes, to highlight the icon container's area.
2016-09-11 11:00:49 +00:00
< / div >
2018-04-09 13:15:31 +00:00
< / div >
< div class = "content" >
< p >
2019-10-13 18:20:44 +00:00
By default, the < code > icon< / code > container will take up < em > exactly< / em > < code > 1.5rem x 1.5rem< / code > . The icon itself is sized accordingly to the icon library you're using. For example, Font Awesome 5 icons will < strong > inherit< / strong > the font size.
< / p >
2018-04-09 13:15:31 +00:00
< / div >
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Colors" %}
2018-04-09 13:15:31 +00:00
< div class = "content" >
< p >
2018-10-12 10:23:32 +00:00
Since icon fonts are simply < strong > text< / strong > , you can use the < a href = "{{ site.url }}/documentation/modifiers/typography-helpers/#colors" > text color modifiers< / a > to change the icon's color.
2018-04-09 13:15:31 +00:00
< / p >
< / div >
2018-04-09 21:25:26 +00:00
{% include elements/snippet.html content=icon_color_example %}
2018-04-09 13:15:31 +00:00
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Sizes" %}
2018-04-09 13:15:31 +00:00
< div class = "content" >
< p >
The Bulma < code > icon< / code > container comes in < strong > 4 sizes< / strong > . It should always be < em > slightly bigger< / em > than the icon it contains. For example, Font Awesome 5 icons use a font-size of < code > 1em< / code > by default (since it inherits the font size), but provides < a href = "https://fontawesome.com/how-to-use/svg-with-js#additional-styling" target = "_blank" > additional sizes< / a > .
< / p >
< / div >
< table class = "table is-bordered" >
< thead >
< tr >
< th > Container class< / th >
< th > Container size< / th >
< th > Font Awesome 5 class< / th >
< th > Icon size< / th >
< th > Result< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td >
< code > icon is-small< / code >
< / td >
< td >
< code > 1rem x 1rem< / code >
< / td >
< td >
< code > fas< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-small" >
< i class = "fas fa-home" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td rowspan = "2" >
< code > icon< / code >
< / td >
< td rowspan = "2" >
< code > 1.5rem x 1.5rem< / code >
< / td >
< td >
< code > fas< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "fas fa-home" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > fas fa-lg< / code >
< / td >
< td >
< code > 1.33em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "fas fa-lg fa-home" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td rowspan = "3" >
< code > icon is-medium< / code >
< / td >
< td rowspan = "3" >
< code > 2rem x 2rem< / code >
< / td >
< td >
< code > fas< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-medium" >
< i class = "fas fa-home" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > fas fa-lg< / code >
< / td >
< td >
< code > 1.33em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-medium" >
< i class = "fas fa-lg fa-home" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > fas fa-2x< / code >
< / td >
< td >
< code > 2em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-medium" >
< i class = "fas fa-2x fa-home" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td rowspan = "4" >
< code > icon is-large< / code >
< / td >
< td rowspan = "4" >
< code > 3rem x 3rem< / code >
< / td >
< td >
< code > fas< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< i class = "fas fa-home" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > fas fa-lg< / code >
< / td >
< td >
< code > 1.33em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< i class = "fas fa-lg fa-home" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > fas fa-2x< / code >
< / td >
< td >
< code > 2em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< i class = "fas fa-2x fa-home" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > fas fa-3x< / code >
< / td >
< td >
< code > 3em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< i class = "fas fa-3x fa-home" > < / i >
< / span >
< / td >
< / tr >
< / tbody >
< / table >
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Font Awesome variations" %}
2018-04-09 13:15:31 +00:00
< div class = "content" >
< p >
Font Awesome also provides modifier classes for:
< / p >
< ul >
< li >
fixed width icons
< / li >
< li >
bordered icons
< / li >
< li >
animated icons
< / li >
< li >
rotated & flipped icons
< / li >
< li >
stacked icons
< / li >
< / ul >
< / div >
< table class = "table is-bordered" >
< thead >
< tr >
< th > Type< / th >
< th > Font Awesome class< / th >
< th > Result< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td >
Fixed width
< / td >
< td >
< code > fas fa-fw< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "fas fa-home fa-fw" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
Bordered
< / td >
< td >
< code > fas fa-border< / code >
< / td >
< td >
< span class = "icon" >
< i class = "fas fa-home fa-border" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
Animated
< / td >
< td >
< code > fas fa-spinner fa-pulse< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "fas fa-spinner fa-pulse" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
Rotated & flipped
< / td >
< td >
< code > fas fa-shield-alt< / code > < br >
< code > fas fa-shield-alt< / code > < code > data-fa-transform="rotate-90"< / code > < br >
< code > fas fa-shield-alt< / code > < code > data-fa-transform="rotate-180"< / code > < br >
< code > fas fa-shield-alt< / code > < code > data-fa-transform="rotate-270"< / code > < br >
< code > fas fa-shield-alt< / code > < code > data-fa-transform="flip-h"< / code > < br >
< code > fas fa-shield-alt< / code > < code > data-fa-transform="flip-v"< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "fas fa-shield-alt" > < / i >
< / span >
< br >
< span class = "icon" >
< i class = "fas fa-shield-alt" data-fa-transform = "rotate-90" > < / i >
< / span >
< br >
< span class = "icon" >
< i class = "fas fa-shield-alt" data-fa-transform = "rotate-180" > < / i >
< / span >
< br >
< span class = "icon" >
< i class = "fas fa-shield-alt" data-fa-transform = "rotate-270" > < / i >
< / span >
< br >
< span class = "icon" >
< i class = "fas fa-shield-alt" data-fa-transform = "flip-h" > < / i >
< / span >
< br >
< span class = "icon" >
< i class = "fas fa-shield-alt" data-fa-transform = "flip-v" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td rowspan = "2" >
Stacked
< / td >
< td >
{% highlight html %}{{ stacked_medium }}{% endhighlight %}
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-medium" >
< span class = "fa-stack" >
< i class = "fas fa-circle fa-stack-2x" > < / i >
< i class = "fas fa-flag fa-stack-1x fa-inverse" > < / i >
< / span >
< / span >
< / td >
< / tr >
< tr >
< td >
{% highlight html %}{{ stacked_large }}{% endhighlight %}
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< span class = "fa-stack fa-lg" >
< i class = "fas fa-camera fa-stack-1x" > < / i >
< i class = "fas fa-ban fa-stack-2x has-text-danger" > < / i >
< / span >
< / span >
< / td >
< / tr >
< / tbody >
< / table >
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Material Design Icons" %}
2018-04-09 13:15:31 +00:00
< div class = "content" >
< p >
Here is how the < code > icon< / code > container can be used with < a href = "https://materialdesignicons.com" > Material Design Icons< / a > .
< / p >
< / div >
< table class = "table is-bordered" >
< thead >
< tr >
< th > Container class< / th >
< th > Container size< / th >
< th > MDI class< / th >
< th > Icon size< / th >
< th > Result< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td >
< code > icon is-small< / code >
< / td >
< td >
< code > 1rem x 1rem< / code >
< / td >
< td >
< code > mdi< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-small" >
< i class = "mdi mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td rowspan = "2" >
< code > icon< / code >
< / td >
< td rowspan = "2" >
< code > 1.5rem x 1.5rem< / code >
< / td >
< td >
< code > mdi mdi-18px< / code >
< / td >
< td >
< code > 18px< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "mdi mdi-18px mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > mdi mdi-24px< / code >
< / td >
< td >
< code > 24px< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "mdi mdi-24px mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td rowspan = "4" >
< code > icon is-medium< / code >
< / td >
< td rowspan = "4" >
< code > 2rem x 2rem< / code >
< / td >
< td >
< code > mdi< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-medium" >
< i class = "mdi mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > mdi mdi-18px< / code >
< / td >
< td >
< code > 18px< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-medium" >
< i class = "mdi mdi-18px mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > mdi mdi-24px< / code >
< / td >
< td >
< code > 24px< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-medium" >
< i class = "mdi mdi-24px mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > mdi mdi-36px< / code >
< / td >
< td >
< code > 36px< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-medium" >
< i class = "mdi mdi-36px mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td rowspan = "5" >
< code > icon is-large< / code >
< / td >
< td rowspan = "5" >
< code > 3rem x 3rem< / code >
< / td >
< td >
< code > mdi< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< i class = "mdi mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > mdi mdi-18px< / code >
< / td >
< td >
< code > 18px< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< i class = "mdi mdi-18px mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > mdi mdi-24px< / code >
< / td >
< td >
< code > 24px< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< i class = "mdi mdi-24px mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > mdi mdi-36px< / code >
< / td >
< td >
< code > 36px< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< i class = "mdi mdi-36px mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > mdi mdi-48px< / code >
< / td >
< td >
< code > 48px< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< i class = "mdi mdi-48px mdi-bell" > < / i >
< / span >
< / td >
< / tr >
< / tbody >
< / table >
< div class = "content" >
< p >
MDI also provides modifier classes for:
< / p >
< ul >
< li >
light and dark icons
< / li >
< li >
rotated & flipped icons
< / li >
< / ul >
< / div >
< table class = "table is-bordered" >
< thead >
< tr >
< th > Type< / th >
< th > Material Design Icon class< / th >
< th > Result< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td >
Light color
< / td >
< td >
< code > mdi mdi-light< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "mdi mdi-signal-4g mdi-light" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
Dark color
< / td >
< td >
< code > mdi mdi-dark< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "mdi mdi-signal-4g mdi-dark" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
Light inactive color
< / td >
< td >
< code > mdi mdi-light mdi-inactive< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "mdi mdi-signal-4g mdi-light mdi-inactive" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
Dark inactive color
< / td >
< td >
< code > mdi mdi-dark mdi-inactive< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "mdi mdi-signal-4g mdi-dark mdi-inactive" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
Flipped
< / td >
< td >
< code > mdi mdi-flip-h< / code >
< br >
< code > mdi mdi-flip-v< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "mdi mdi-signal-4g mdi-flip-h" > < / i >
< / span >
< br >
< span class = "icon" >
< i class = "mdi mdi-signal-4g mdi-flip-v" > < / i >
< / span >
< / td >
< / tr >
< tr >
< td >
Rotated
< / td >
< td >
< code > mdi mdi-rotate-45< / code >
< br >
< code > mdi mdi-rotate-90< / code >
< br >
< code > mdi mdi-rotate-180< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< i class = "mdi mdi-signal-4g mdi-rotate-45" > < / i >
< / span >
< br >
< span class = "icon" >
< i class = "mdi mdi-signal-4g mdi-rotate-90" > < / i >
< / span >
< br >
< span class = "icon" >
< i class = "mdi mdi-signal-4g mdi-rotate-180" > < / i >
< / span >
< / td >
< / tr >
< / tbody >
< / table >
2018-04-09 21:25:26 +00:00
{% include elements/anchor.html name="Ionicons" %}
2018-04-09 13:15:31 +00:00
< div class = "content" >
< p >
Here is how the < code > icon< / code > container can be used with < a href = "http://ionicons.com" > Ionicons< / a > .
< / p >
< / div >
< table class = "table is-bordered" >
< thead >
< tr >
< th > Container class< / th >
< th > Container size< / th >
< th > Ionicon class< / th >
< th > Icon size< / th >
< th > Result< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td >
< code > icon is-small< / code >
< / td >
< td >
< code > 1rem x 1rem< / code >
< / td >
< td >
< code > ion-ionic< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-small" >
< span class = "ion-ionic" > < / span >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > icon< / code >
< / td >
< td >
< code > 1.5rem x 1.5rem< / code >
< / td >
< td >
< code > ion-ionic< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon" >
< span class = "ion-ionic" > < / span >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > icon is-medium< / code >
< / td >
< td >
< code > 2rem x 2rem< / code >
< / td >
< td >
< code > ion-ionic< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-medium" >
< span class = "ion-ionic" > < / span >
< / span >
< / td >
< / tr >
< tr >
< td >
< code > icon is-large< / code >
< / td >
< td >
< code > 3rem x 3rem< / code >
< / td >
< td >
< code > ion-ionic< / code >
< / td >
< td >
< code > 1em< / code >
< / td >
< td class = "bd-icon-size" >
< span class = "icon is-large" >
< span class = "ion-ionic" > < / span >
< / span >
< / td >
< / tr >
< / tbody >
< / table >
2018-04-09 21:25:26 +00:00
{% include elements/variables.html type='element' %}