Icons
{%
include meta.html
colors=true
sizes=true
variables=true
%}
The icon
element is a container for any type of icon font. Because the icons can take a few seconds to load, and because you want control over the space the icons will take, you can use the icon
class as a reliable square container that will prevent the page to "jump" on page load.
{% include snippet.html content=icon_example %}
The yellow background is only here for demonstration purposes, to highlight the icon container's area.
By default, the icon
container will take up exactly 1.5rem x 1.5rem
. The icon itself is sized accordingly to the icon library you're using. For example, Font Awesome icons will inherit the font size.
{% include anchor.html name="Colors" %}
Since icon fonts are simply text, you can use the text color modifiers to change the icon's color.
{% include snippet.html content=icon_color_example %}
{% include anchor.html name="Sizes" %}
The Bulma icon
container comes in 4 sizes. It should always be slightly bigger than the icon it contains. For example, Font Awesome icons use a font-size of 1em
by default (since it inherits the font size), but provides additional sizes.
Container class |
Container size |
Font Awesome class |
Icon size |
Result |
icon is-small
|
1rem x 1rem
|
fa
|
1em
|
|
icon
|
1.5rem x 1.5rem
|
fa
|
1em
|
|
fa fa-lg
|
1.33em
|
|
icon is-medium
|
2rem x 2rem
|
fa
|
1em
|
|
fa fa-lg
|
1.33em
|
|
fa fa-2x
|
2em
|
|
icon is-large
|
3rem x 3rem
|
fa
|
1em
|
|
fa fa-lg
|
1.33em
|
|
fa fa-2x
|
2em
|
|
fa fa-3x
|
3em
|
|
{% include anchor.html name="Font Awesome variations" %}
Font Awesome also provides modifier classes for:
-
fixed width icons
-
bordered icons
-
animated icons
-
rotated & flipped icons
-
stacked icons
Type |
Font Awesome class |
Result |
Fixed width
|
fa fa-fw
|
|
Bordered
|
fa fa-border
|
|
Animated
|
fa fa-refresh fa-spin
|
|
Rotated & flipped
|
fa fa-shield
fa fa-shield fa-rotate-90
fa fa-shield fa-rotate-180
fa fa-shield fa-rotate-270
fa fa-shield fa-flip-horizontal
fa fa-shield fa-flip-vertical
|
|
Stacked
|
{% highlight html %}
{% endhighlight %}
|
|
{% highlight html %}
{% endhighlight %}
|
|
{% include anchor.html name="Material Design Icons" %}
Here is how the icon
container can be used with Material Design Icons.
Container class |
Container size |
MDI class |
Icon size |
Result |
icon is-small
|
1rem x 1rem
|
mdi
|
1em
|
|
icon
|
1.5rem x 1.5rem
|
mdi mdi-18px
|
18px
|
|
mdi mdi-24px
|
24px
|
|
icon is-medium
|
2rem x 2rem
|
mdi
|
1em
|
|
mdi mdi-18px
|
18px
|
|
mdi mdi-24px
|
24px
|
|
mdi mdi-36px
|
36px
|
|
icon is-large
|
3rem x 3rem
|
mdi
|
1em
|
|
mdi mdi-18px
|
18px
|
|
mdi mdi-24px
|
24px
|
|
mdi mdi-36px
|
36px
|
|
mdi mdi-48px
|
48px
|
|
MDI also provides modifier classes for:
-
light and dark icons
-
rotated & flipped icons
Type |
Material Design Icon class |
Result |
Light color
|
mdi mdi-light
|
|
Dark color
|
mdi mdi-dark
|
|
Light inactive color
|
mdi mdi-light mdi-inactive
|
|
Dark inactive color
|
mdi mdi-dark mdi-inactive
|
|
Flipped
|
mdi mdi-flip-h
mdi mdi-flip-v
|
|
Rotated
|
mdi mdi-rotate-45
mdi mdi-rotate-90
mdi mdi-rotate-180
|
|
{% include anchor.html name="Open Iconic" %}
Here is how the icon
container can be used with Open Iconic.
Container class |
Container size |
Iconic class |
Icon size |
Result |
icon is-small
|
1rem x 1rem
|
oi [data-glyph=puzzle-piece]
|
1em
|
|
icon
|
1.5rem x 1.5rem
|
oi [data-glyph=puzzle-piece]
|
1em
|
|
icon is-medium
|
2rem x 2rem
|
oi [data-glyph=puzzle-piece]
|
1em
|
|
icon is-large
|
3rem x 3rem
|
oi [data-glyph=puzzle-piece]
|
1em
|
|
{% include anchor.html name="Ionicons" %}
Here is how the icon
container can be used with Ionicons.
Container class |
Container size |
Ionicon class |
Icon size |
Result |
icon is-small
|
1rem x 1rem
|
ion-ionic
|
1em
|
|
icon
|
1.5rem x 1.5rem
|
ion-ionic
|
1em
|
|
icon is-medium
|
2rem x 2rem
|
ion-ionic
|
1em
|
|
icon is-large
|
3rem x 3rem
|
ion-ionic
|
1em
|
|
{% include variables.html %}