@@ -9,7 +9,11 @@ Try to use these on a limited basis and avoid creating entirely different versio
## Available classes
Use a single or combination of the available classes for toggling content across viewport breakpoints.
* The `.hidden-*-up` classes hide the element when the viewport is at the given breakpoint or wider. For example, `.hidden-md-up` hides an element on medium, large, and extra-large viewports.
* The `.hidden-*-down` classes hide the element when the viewport is at the given breakpoint or smaller. For example, `.hidden-md-down` hides an element on extra-small, small, and medium viewports).
* There are no explicit "visible"/"show" responsive utility classes; you make an element visible by simply not hiding it at that breakpoint size.
* You can combine one `.hidden-*-up` class with one `.hidden-*-down` class to show an element only on a given interval of screen sizes. For example, `.hidden-sm-down.hidden-xl-up` shows the element only on medium and large viewports. Using multiple `.hidden-*-up` classes or multiple `.hidden-*-down` classes is redundant and pointless.
* These classes don't attempt to accommodate less common cases where an element's visibility can't be expressed as a single contiguous range of viewport breakpoint sizes; you will instead need to use custom CSS in such cases.
@@ -18,112 +22,110 @@ Use a single or combination of the available classes for toggling content across
<th></th>
<th>
Extra small devices
<small>Phones (<768px)</small>
<small>Portrait phones (<34em)</small>
</th>
<th>
Small devices
<small>Tablets (≥768px)</small>
<small>Landscape phones (≥34em)</small>
</th>
<th>
Medium devices
<small>Desktops (≥992px)</small>
<small>Tablets (≥48em)</small>
</th>
<th>
Large devices
<small>Desktops (≥1200px)</small>
<small>Desktops (≥62em)</small>
</th>
<th>
Extra large devices
<small>Desktops (≥75em)</small>
</th>
</tr>
</thead>
<tbody>
<tr>
<thscope="row"><code>.visible-xs-*</code></th>
<tdclass="is-visible">Visible</td>
<thscope="row"><code>.hidden-xs-down</code></th>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
</tr>
<tr>
<thscope="row"><code>.hidden-sm-down</code></th>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
</tr>
<tr>
<thscope="row"><code>.visible-sm-*</code></th>
<thscope="row"><code>.hidden-md-down</code></th>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
</tr>
<tr>
<thscope="row"><code>.visible-md-*</code></th>
<thscope="row"><code>.hidden-lg-down</code></th>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
</tr>
<tr>
<thscope="row"><code>.visible-lg-*</code></th>
<thscope="row"><code>.hidden-xl-down</code></th>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
</tr>
</tbody>
<tbody>
<tr>
<thscope="row"><code>.hidden-xs</code></th>
<thscope="row"><code>.hidden-xs-up</code></th>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
</tr>
<tr>
<thscope="row"><code>.hidden-sm</code></th>
<thscope="row"><code>.hidden-sm-up</code></th>
<tdclass="is-visible">Visible</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
</tr>
<tr>
<thscope="row"><code>.hidden-md</code></th>
<thscope="row"><code>.hidden-md-up</code></th>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-hidden">Hidden</td>
<tdclass="is-hidden">Hidden</td>
</tr>
<tr>
<thscope="row"><code>.hidden-lg</code></th>
<thscope="row"><code>.hidden-lg-up</code></th>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-hidden">Hidden</td>
</tr>
</tbody>
</table>
</div>
As of v3.2.0, the `.visible-*-*` classes for each breakpoint come in three variations, one for each CSS `display` property value listed below.
<divclass="table-responsive">
<tableclass="table table-bordered table-striped">
<thead>
<tr>
<th>Group of classes</th>
<th>CSS <code>display</code></th>
</tr>
</thead>
<tbody>
<tr>
<td><code>.visible-*-block</code></td>
<td><code>display: block;</code></td>
</tr>
<tr>
<td><code>.visible-*-inline</code></td>
<td><code>display: inline;</code></td>
<tdclass="is-hidden">Hidden</td>
</tr>
<tr>
<td><code>.visible-*-inline-block</code></td>
<td><code>display: inline-block;</code></td>
<thscope="row"><code>.hidden-xl-up</code></th>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-visible">Visible</td>
<tdclass="is-hidden">Hidden</td>
</tr>
</tbody>
</table>
</div>
<p>So, for extra small (<code>xs</code>) screens for example, the available <code>.visible-*-*</code> classes are: <code>.visible-xs-block</code>, <code>.visible-xs-inline</code>, and <code>.visible-xs-inline-block</code>.</p>
@@ -67,7 +67,7 @@ The following deprecated Less/SCSS variables have been removed in v4.0.0:
*`@screen-xs`, `@screen-xs-min`. The extra small breakpoint has no lower bound, so these variables were logically absurd. Reformulate your expression in terms of `$screen-xs-max` instead.
*`@grid-float-breakpoint`
The responsive utility classes have been overhauled. The old classes (`.hidden-xs``.hidden-sm``.hidden-md``.hidden-lg``.visible-xs-block``.visible-xs-inline``.visible-xs-inline-block``.visible-sm-block``.visible-sm-inline``.visible-sm-inline-block``.visible-md-block``.visible-md-inline``.visible-md-inline-block``.visible-lg-block``.visible-lg-inline``.visible-lg-inline-block`) are gone. They have been replaced by `.hidden-xs-up``.hidden-xs-down``.hidden-sm-up``.hidden-sm-down``.hidden-md-up``.hidden-md-down``.hidden-lg-up``.hidden-lg-down`. The `.hidden-*-up` classes hide the element when the viewport is at the given breakpoint or wider (e.g. `.hidden-md-up` hides an element on medium, large, and extra-large devices). The `.hidden-*-down` classes hide the element when the viewport is at the given breakpoint or smaller (e.g. `.hidden-md-down` hides an element on extra-small, small, and medium devices). Rather than using explicit `.visible-*` classes, you make an element visible by simply not hiding it at that screen size. You can combine one `.hidden-*-up` class with one `.hidden-*-down` class to show an element only on a given interval of screen sizes (e.g. `.hidden-sm-down.hidden-xl-up` shows the element only on medium and large devices). Note that the changes to the grid breakpoints in v4 means that you'll need to go one breakpoint larger to achieve the same results (e.g. `.hidden-md` is more similar to `.hidden-lg-down` than to `.hidden-md-down`). .The new responsive utility classes don't attempt to accommodate less common cases where an element's visibility can't be expressed as a single contiguous range of viewport sizes; you will instead need to custom CSS in such cases.
The responsive utility classes have been overhauled. The old classes (`.hidden-xs``.hidden-sm``.hidden-md``.hidden-lg``.visible-xs-block``.visible-xs-inline``.visible-xs-inline-block``.visible-sm-block``.visible-sm-inline``.visible-sm-inline-block``.visible-md-block``.visible-md-inline``.visible-md-inline-block``.visible-lg-block``.visible-lg-inline``.visible-lg-inline-block`) are gone. They have been replaced by `.hidden-xs-up``.hidden-xs-down``.hidden-sm-up``.hidden-sm-down``.hidden-md-up``.hidden-md-down``.hidden-lg-up``.hidden-lg-down`. The `.hidden-*-up` classes hide the element when the viewport is at the given breakpoint or wider (e.g. `.hidden-md-up` hides an element on medium, large, and extra-large devices). The `.hidden-*-down` classes hide the element when the viewport is at the given breakpoint or smaller (e.g. `.hidden-md-down` hides an element on extra-small, small, and medium devices). Rather than using explicit `.visible-*` classes, you make an element visible by simply not hiding it at that screen size. You can combine one `.hidden-*-up` class with one `.hidden-*-down` class to show an element only on a given interval of screen sizes (e.g. `.hidden-sm-down.hidden-xl-up` shows the element only on medium and large devices). Note that the changes to the grid breakpoints in v4 means that you'll need to go one breakpoint larger to achieve the same results (e.g. `.hidden-md` is more similar to `.hidden-lg-down` than to `.hidden-md-down`). .The new responsive utility classes don't attempt to accommodate less common cases where an element's visibility can't be expressed as a single contiguous range of viewport sizes; you will instead need to use custom CSS in such cases.