Which are the correct classes for responsive visibility in Semantic-UI?

Updated to reflect current docs and version 2.4.2

Responsive Visibility works by hiding a certain element (usually a ui container, but can also be e.g. grid rows) on specific screen sizes. For example, <div class="ui container mobile only"> would only be shown when the screen is less than 768px wide.

The documentation for Grid has a Device Visibility section which demonstrates several possible visibility modifiers:

  1. Mobile (mobile only)
  2. Tablet (tablet only)
  3. Tablet and Mobile (tablet mobile only)
  4. Computer (computer only)
  5. Large screen (large screen only)
  6. Widescreen (widescreen only)
  7. All Sizes (no modifier)

The documentation doesn't explicitly mention what the device breakpoints are. Like most things, they can be configured via SASS variables when building Semantic UI and are defined inside site.variables. The default breakpoints are:

  1. mobile only will only display below 768px
  2. tablet only will only display between 768px - 991px
  3. computer only will always display 992px and above
  4. large screen only will only display between 1200px - 1919px
  5. widescreen only will only display 1920px and above

As seen in the documentation for Grid, it's possible to combine these as well - e.g. tablet mobile only and mobile computer only are perfectly valid.


This can't display below 768px:

<div class="ui container mobile only">

The correct expression is below:

<div class="ui container mobile only grid">

Tags:

Semantic Ui