2020-05-10 21:10:51 +00:00
---
title: Typography helpers
layout: documentation
doc-tab: helpers
doc-subtab: helpers-typography
breadcrumb:
- home
- documentation
- helpers
- helpers-typography
---
{% assign initial_vars = site.data.variables.utilities.initial-variables.by_name %}
{% assign sizes = site.data.variables.utilities.derived-variables.by_name['$sizes'].value | split: ' ' %}
{% capture thead %}
< thead >
< tr >
< th >
Class
< / th >
{% for breakpoint_hash in site.data.breakpoints %}
{% assign breakpoint = breakpoint_hash[1] %}
< th >
{{ breakpoint.name }}< br >
{% if breakpoint.id == 'mobile' %}
Up to < code > {{ breakpoint.to }}px< / code >
{% elsif breakpoint.id == 'fullhd' %}
< code > {{ breakpoint.from }}px< / code > and above
{% else %}
Between < code > {{ breakpoint.from }}px< / code > and < code > {{ breakpoint.to }}px< / code >
{% endif %}
< / th >
{% endfor %}
< / tr >
< / thead >
{% endcapture %}
{% capture size1 %}
2020-05-10 23:25:29 +00:00
< td class = "is-narrow has-background-danger-light" >
< code class = "has-background-danger-light" > {{ initial_vars['$size-1'].value }}< / code >
2020-05-10 21:10:51 +00:00
< / td >
{% endcapture %}
{% capture unchanged %}
2020-05-10 23:25:29 +00:00
< td class = "is-narrow has-text-grey-light" >
unchanged
2020-05-10 21:10:51 +00:00
< / td >
{% endcapture %}
{% capture left %}
2020-05-10 23:25:29 +00:00
< td class = "is-narrow has-background-primary-light has-text-primary" >
left-aligned
2020-05-10 21:10:51 +00:00
< / td >
{% endcapture %}
{% include elements/anchor.html name="Size" %}
< div class = "content" >
< p >
There are < strong > {{ sizes | size }} sizes< / strong > to choose from:
< / p >
< / div >
< table class = "table is-bordered" >
< thead >
< tr >
< th >
Class
< / th >
< th >
Font-size
< / th >
2021-01-19 17:17:27 +00:00
< th >
Size
< / th >
2020-05-10 21:10:51 +00:00
< / tr >
< / thead >
< tbody >
{% for size in sizes %}
< tr >
{% assign key = '$size-' | append: forloop.index %}
< td > < code > is-size-{{ forloop.index }}< / code > < / td >
< td > < code > {{ initial_vars[key].value }}< / code > < / td >
2021-01-22 16:10:41 +00:00
< td > < span class = "is-size-{{ forloop.index }}" > Example< / span > < / td >
2020-05-10 21:10:51 +00:00
< / tr >
{% endfor %}
< / tbody >
< / table >
{% include elements/anchor.html name="Responsive size" %}
< div class = "content" >
< p >
You can choose a < strong > specific< / strong > size for < em > each< / em > viewport width. You simply need to append the < strong > viewport width< / strong > to the size modifier.
< / p >
< p >
For example, here are the modifiers for < code > $size-1< / code > :
< / p >
< / div >
2020-05-10 23:25:29 +00:00
< div class = "table-container" >
< table class = "table is-bordered" >
{{ thead }}
< tbody >
< tr >
< td class = "is-narrow" > < code > is-size-1-mobile< / code > < / td >
{{ size1 }}
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
< / tr >
< tr >
< td class = "is-narrow" > < code > is-size-1-touch< / code > < / td >
{{ size1 }}
{{ size1 }}
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
< / tr >
< tr >
< td class = "is-narrow" > < code > is-size-1-tablet< / code > < / td >
{{ unchanged }}
{{ size1 }}
{{ size1 }}
{{ size1 }}
{{ size1 }}
< / tr >
< tr >
< td class = "is-narrow" > < code > is-size-1-desktop< / code > < / td >
{{ unchanged }}
{{ unchanged }}
{{ size1 }}
{{ size1 }}
{{ size1 }}
< / tr >
< tr >
< td class = "is-narrow" > < code > is-size-1-widescreen< / code > < / td >
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
{{ size1 }}
{{ size1 }}
< / tr >
< tr >
< td class = "is-narrow" > < code > is-size-1-fullhd< / code > < / td >
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
{{ size1 }}
< / tr >
< / tbody >
< / table >
< / div >
2020-05-10 21:10:51 +00:00
< div class = "content" >
< p >
You can use the same logic for each of the < strong > 7 sizes< / strong > .
< / p >
< / div >
{% include elements/anchor.html name="Alignment" %}
< div class = "content" >
< p >
You can align the text with the use of one of < strong > 4 alignment helpers< / strong > :
< / p >
< / div >
< table class = "table is-bordered" >
< thead >
< tr >
< th >
Class
< / th >
< th >
Alignment
< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < code > has-text-centered< / code > < / td >
< td > Makes the text < strong > centered< / strong > < / td >
< / tr >
< tr >
< td > < code > has-text-justified< / code > < / td >
< td > Makes the text < strong > justified< / strong > < / td >
< / tr >
< tr >
< td > < code > has-text-left< / code > < / td >
< td > Makes the text aligned to the < strong > left< / strong > < / td >
< / tr >
< tr >
< td > < code > has-text-right< / code > < / td >
< td > Makes the text aligned to the < strong > right< / strong > < / td >
< / tr >
< / tbody >
< / table >
{% include elements/anchor.html name="Responsive Alignment" %}
< div class = "content" >
< p >
2020-05-10 23:25:29 +00:00
You can < strong > align text< / strong > differently for each < strong > viewport width< / strong > . Simply append the < strong > viewport width< / strong > to the alignment modifier.
2020-05-10 21:10:51 +00:00
< / p >
< p >
For example, here are the modifiers for < code > has-text-left< / code > :
< / p >
< / div >
2020-05-10 23:25:29 +00:00
< div class = "table-container" >
< table class = "table is-bordered" >
{{ thead }}
< tbody >
< tr >
< td class = "is-narrow" > < code > has-text-left-mobile< / code > < / td >
{{ left }}
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
< / tr >
< tr >
< td class = "is-narrow" > < code > has-text-left-touch< / code > < / td >
{{ left }}
{{ left }}
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
< / tr >
< tr >
< td class = "is-narrow" > < code > has-text-left-tablet-only< / code > < / td >
{{ unchanged }}
{{ left }}
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
< / tr >
< tr >
< td class = "is-narrow" > < code > has-text-left-tablet< / code > < / td >
{{ unchanged }}
{{ left }}
{{ left }}
{{ left }}
{{ left }}
< / tr >
< tr >
< td class = "is-narrow" > < code > has-text-left-desktop-only< / code > < / td >
{{ unchanged }}
{{ unchanged }}
{{ left }}
{{ unchanged }}
{{ unchanged }}
< / tr >
< tr >
< td class = "is-narrow" > < code > has-text-left-desktop< / code > < / td >
{{ unchanged }}
{{ unchanged }}
{{ left }}
{{ left }}
{{ left }}
< / tr >
< tr >
< td class = "is-narrow" > < code > has-text-left-widescreen-only< / code > < / td >
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
{{ left }}
{{ unchanged }}
< / tr >
< tr >
< td class = "is-narrow" > < code > has-text-left-widescreen< / code > < / td >
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
{{ left }}
{{ left }}
< / tr >
< tr >
< td class = "is-narrow" > < code > has-text-left-fullhd< / code > < / td >
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
{{ unchanged }}
{{ left }}
< / tr >
< / tbody >
< / table >
< / div >
2020-05-10 21:10:51 +00:00
2020-05-10 23:25:29 +00:00
< div class = "content" >
< p >
You can use the same logic for each of the < strong > 4 alignments< / strong > .
< / p >
< / div >
2020-05-10 21:10:51 +00:00
{% include elements/anchor.html name="Text transformation" %}
< div class = "content" >
< p >
You can transform the text with the use of one of < strong > 4 text transformation helpers< / strong > :
< / p >
< / div >
< table class = "table is-bordered" >
< thead >
< tr >
< th >
Class
< / th >
< th >
Transformation
< / th >
< / tr >
< / thead >
< tbody >
< tr >
< td > < code > is-capitalized< / code > < / td >
2022-01-23 11:06:08 +00:00
< td > Transforms < strong > the first character< / strong > of each word to < strong > Uppercase< / strong > < / td >
2020-05-10 21:10:51 +00:00
< / tr >
< tr >
< td > < code > is-lowercase< / code > < / td >
2021-01-27 23:30:42 +00:00
< td > Transforms < strong > all characters< / strong > to < strong > lowercase< / strong > < / td >
2020-05-10 21:10:51 +00:00
< / tr >
< tr >
< td > < code > is-uppercase< / code > < / td >
2022-01-23 11:06:08 +00:00
< td > Transforms < strong > all characters< / strong > to < strong > UPPERCASE< / strong > < / td >
2020-05-10 21:10:51 +00:00
< / tr >
< tr >
< td > < code > is-italic< / code > < / td >
2022-01-23 11:06:08 +00:00
< td > Transforms < strong > all characters< / strong > to < strong class = "is-italic" > italic< / strong > < / td >
2020-05-10 21:10:51 +00:00
< / tr >
2021-06-18 17:37:01 +00:00
< tr >
< td > {% include elements/new-tag.html version="0.9.3" %}< code > is-underlined< / code > < / td >
2022-01-23 11:06:08 +00:00
< td > < strong class = "is-underlined" > Underlines< / strong > the text< / td >
2021-06-18 17:37:01 +00:00
< / tr >
2020-05-10 21:10:51 +00:00
< / tbody >
< / table >
{% include elements/anchor.html name="Text weight" %}
< div class = "content" >
< p >
You can transform the text weight with the use of one of < strong > 5 text weight helpers< / strong > :
< / p >
< / div >
< table class = "table is-bordered" >
< thead >
< tr >
< th >
Class
< / th >
< th >
Weight
< / th >
< / tr >
< / thead >
< tbody >
2023-03-16 18:47:49 +00:00
< tr >
< td > < code > has-text-weight-light< / code > < / td >
< td > Transforms text weight to < span class = "has-text-weight-light" > light< / span > < / td >
< / tr >
< tr >
< td > < code > has-text-weight-normal< / code > < / td >
< td > Transforms text weight to < span class = "has-text-weight-normal" > normal< / span > < / td >
< / tr >
< tr >
< td > < code > has-text-weight-medium< / code > < / td >
< td > Transforms text weight to < span class = "has-text-weight-medium" > medium< / span > < / td >
< / tr >
< tr >
< td > < code > has-text-weight-semibold< / code > < / td >
< td > Transforms text weight to < span class = "has-text-weight-semibold" > semi-bold< / span > < / td >
< / tr >
< tr >
< td > < code > has-text-weight-bold< / code > < / td >
< td > Transforms text weight to < span class = "has-text-weight-bold" > bold< / span > < / td >
< / tr >
2020-05-10 21:10:51 +00:00
< / tbody >
< / table >
{% include elements/anchor.html name="Font family" %}
< div class = "content" >
< p >
You can change the font family with the use of one of < strong > 5 font family helpers< / strong > :
< / p >
< / div >
{% assign font_families = "sans-serif,monospace,primary,secondary,code" | split: ',' %}
< table class = "table is-bordered" >
< thead >
< tr >
< th >
Class
< / th >
< th >
Family
< / th >
< / tr >
< / thead >
< tbody >
{% for family in font_families %}
< tr >
< td > < code > is-family-{{ family }}< / code > < / td >
< td > Sets font family to < code > $family-{{ family }}< / code > < / td >
< / tr >
{% endfor %}
< / tbody >
< / table >