- Both classes do about the same thing, but with different names - Clarifies docs for .m-x-auto requiring a fixed width block element for it to work - Add missing heading for clearfix section in docs (unrelated)
11 KiB
layout | title | group |
---|---|---|
docs | Utility classes | components |
Bootstrap includes dozens of utilities—classes with a single purpose. They're designed to reduce the frequency of highly repetitive declarations in your CSS while allowing for quick and easy development.
Contents
- Will be replaced with the ToC, excluding the "Contents" header {:toc}
Spacing
Assign margin
or padding
to an element or a subset of its sides with shorthand classes. Includes support for individual properties, all properties, and vertical and horizontal properties. All classes are multiples on the global default value, 1rem
.
The classes are named using the format: {property}-{sides}-{size}
Where property is one of:
m
- for classes that setmargin
p
- for classes that setpadding
Where sides is one of:
t
- for classes that setmargin-top
orpadding-top
b
- for classes that setmargin-bottom
orpadding-bottom
l
- for classes that setmargin-left
orpadding-left
r
- for classes that setmargin-right
orpadding-right
x
- for classes that set both*-left
and*-right
y
- for classes that set both*-top
and*-bottom
a
- for classes that set amargin
orpadding
on all 4 sides of the element
Where size is one of:
0
- for classes that eliminate themargin
orpadding
by setting it to0
1
- (by default) for classes that set themargin
orpadding
to$spacer-x
or$spacer-y
2
- (by default) for classes that set themargin
orpadding
to$spacer-x * 1.5
or$spacer-y * 1.5
3
- (by default) for classes that set themargin
orpadding
to$spacer-x * 3
or$spacer-y * 3
Here are some representative examples of these classes:
{% highlight scss %} .m-t-0 { margin-top: 0 !important; }
.m-l-1 { margin-left: $spacer-x !important; }
.p-x-2 { padding-left: ($spacer-x * 1.5) !important; padding-right: ($spacer-x * 1.5) !important; }
.p-a-3 { padding: ($spacer-y * 3) ($spacer-x * 3) !important; } {% endhighlight %}
Additionally, Bootstrap also includes an .m-x-auto
class for centering fixed-width block level content by setting the horizontal margins to auto
.
{% highlight html %}
Text alignment
Easily realign text to components with text alignment classes.
{% example html %}
Justified text.
No wrap text.
{% endexample %}For left, right, and center alignment, responsive classes are available that use the same viewport width breakpoints as the grid system.
{% example html %}
Left aligned text on all viewport sizes.
Center aligned text on all viewport sizes.
Right aligned text on all viewport sizes.
Left aligned text on viewports sized SM (small) or wider.
Left aligned text on viewports sized MD (medium) or wider.
Left aligned text on viewports sized LG (large) or wider.
Left aligned text on viewports sized XL (extra-large) or wider.
{% endexample %}Text transform
Transform text in components with text capitalization classes.
{% example html %}
Lowercased text.
Uppercased text.
CapiTaliZed text.
{% endexample %}Note how text-capitalize
only changes the first letter of each word, leaving the case of any other letters unaffected.
Font weight and italics
Quickly change the weight (boldness) of text or italicize text.
{% example html %}
Bold text.
Normal weight text.
Italic text.
{% endexample %}Contextual colors and backgrounds
Convey meaning through color with a handful of emphasis utility classes. These may also be applied to links and will darken on hover just like our default link styles.
{% example html %}
Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.
Nullam id dolor id nibh ultricies vehicula ut id elit.
Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
Maecenas sed diam eget risus varius blandit sit amet non magna.
Etiam porta sem malesuada magna mollis euismod.
Donec ullamcorper nulla non metus auctor fringilla.
{% endexample %}Contextual text classes also work well on anchors with the provided hover and focus states.
{% example html %} Muted link Primary link Success link Info link Warning link Danger link {% endexample %}
Similar to the contextual text color classes, easily set the background of an element to any contextual class. Anchor components will darken on hover, just like the text classes.
{% example html %}
{% callout info %}
Dealing with specificity
Sometimes contextual classes cannot be applied due to the specificity of another selector. In some cases, a sufficient workaround is to wrap your element's content in a <div>
with the class.
{% endcallout %}
{% callout warning %}
Conveying meaning to assistive technologies
Ensure that any meaning conveyed through color is also conveyed in a format that is not purely presentational. {% endcallout %}
Close icon
Use a generic close icon for dismissing content like modals and alerts. Be sure to include text for screen readers, as we've done with aria-label
.
{% example html %}
{% endexample %}Responsive floats
These utility classes float an element to the left or right, or disable floating, based on the current viewport size using the CSS float
property. !important
is included to avoid specificity issues. These use the same viewport width breakpoints as the grid system.
Two similar non-responsive mixins (pull-left
and pull-right
) are also available.
{% example html %}
{% endexample %}
{% highlight scss %} // Related simple non-responsive mixins .element { @include pull-left; } .another-element { @include pull-right; } {% endhighlight %}
Clearfix
Easily clear float
s by adding .clearfix
to the parent element. Utilizes the micro clearfix as popularized by Nicolas Gallagher. Can also be used as a mixin.
{% highlight html %}
{% highlight scss %} // Mixin itself .clearfix() { &:before, &:after { content: " "; display: table; } &:after { clear: both; } }
// Usage as a mixin .element { @include clearfix; } {% endhighlight %}
Invisible content
The .invisible
class can be used to toggle only the visibility of an element, meaning its display
is not modified and the element can still affect the flow of the document.
{% highlight html %}
{% highlight scss %} // Class .invisible { visibility: hidden; }
// Usage as a mixin .element { @include invisible; } {% endhighlight %}
Screen readers and keyboard users
Hide an element to all devices except screen readers with .sr-only
. Combine .sr-only
with .sr-only-focusable
to show the element again when it's focused (e.g. by a keyboard-only user). Can also be used as mixins.
{% comment %} Necessary for following accessibility best practices. {% endcomment %}
{% highlight html %} Skip to main content {% endhighlight %}
{% highlight scss %} // Usage as a mixin .skip-navigation { @include sr-only; @include sr-only-focusable; } {% endhighlight %}
Image replacement
Utilize the .text-hide
class or mixin to help replace an element's text content with a background image.
{% highlight html %}
Custom heading
{% endhighlight %}{% highlight scss %} // Usage as a mixin .heading { @include text-hide; } {% endhighlight %}
Responsive embeds
Allow browsers to determine video or slideshow dimensions based on the width of their containing block by creating an intrinsic ratio that will properly scale on any device.
Rules are directly applied to <iframe>
, <embed>
, <video>
, and <object>
elements; optionally use an explicit descendant class .embed-responsive-item
when you want to match the styling for other attributes.
Pro-Tip! You don't need to include frameborder="0"
in your <iframe>
s as we override that for you.
{% example html %}
Aspect ratios can be customized with modifier classes.
{% highlight html %}