Skip to main content
Bulma provides a mobile-first responsive design system with five main breakpoints. These breakpoints allow you to create layouts that adapt seamlessly across different screen sizes.

Breakpoint Values

The framework uses the following breakpoint values:
BreakpointVariableValueDescription
Mobile$mobileUp to 768pxFor phones and small devices
Tablet$tablet769px and upStarting from tablets
Desktop$desktop1024px and upDesktop screens (960px + 64px gap)
Widescreen$widescreen1216px and upLarge desktop screens (1152px + 64px gap)
FullHD$fullhd1408px and upUltra-wide screens (1344px + 64px gap)
The desktop, widescreen, and fullhd breakpoints include a $gap value of 32px on each side (64px total) to account for container padding.

Source Values

From the Bulma source code (initial-variables.scss):
$gap: 32px;
$tablet: 769px;
$desktop: 960px + (2 * $gap); // 1024px
$widescreen: 1152px + (2 * $gap); // 1216px
$fullhd: 1344px + (2 * $gap); // 1408px

Breakpoint Ranges

Bulma also provides specific breakpoint ranges for targeting devices between two breakpoints:
RangeMedia QueryDescription
mobilemax-width: 768pxMobile devices only
tabletmin-width: 769pxTablet and larger
tablet-only769px to 1023pxOnly tablets
touchmax-width: 1023pxMobile and tablet (touch devices)
desktopmin-width: 1024pxDesktop and larger
desktop-only1024px to 1215pxOnly desktop
until-widescreenmax-width: 1215pxUp to widescreen
widescreenmin-width: 1216pxWidescreen and larger
widescreen-only1216px to 1407pxOnly widescreen
until-fullhdmax-width: 1407pxUp to fullHD
fullhdmin-width: 1408pxFullHD and larger

Responsive Modifiers

Bulma uses these breakpoints to create responsive modifier classes. You can append breakpoint suffixes to many utility classes:

Display Utilities

<!-- Hidden on mobile, visible on tablet and up -->
<div class="is-hidden-mobile">
  This content appears on tablets and larger screens.
</div>

<!-- Visible only on desktop -->
<div class="is-hidden-touch is-hidden-widescreen">
  This content only appears on desktop.
</div>

Column Sizes

<div class="columns">
  <div class="column is-full-mobile is-half-tablet is-one-third-desktop">
    <!-- Full width on mobile, half on tablet, one-third on desktop -->
  </div>
</div>

Text Alignment

<p class="has-text-centered-mobile has-text-left-tablet">
  Centered on mobile, left-aligned on tablet and up.
</p>

Usage in Sass

If you’re customizing Bulma, you can use breakpoint mixins in your Sass:
@use "bulma/sass/utilities/mixins" as mx;

.my-component {
  padding: 1rem;
  
  @include mx.tablet {
    padding: 2rem;
  }
  
  @include mx.desktop {
    padding: 3rem;
  }
}

Available Mixins

MixinUsageDescription
mobile@include mx.mobile { }Up to 768px
tablet@include mx.tablet { }769px and up
tablet-only@include mx.tablet-only { }769px to 1023px
touch@include mx.touch { }Up to 1023px
desktop@include mx.desktop { }1024px and up
desktop-only@include mx.desktop-only { }1024px to 1215px
widescreen@include mx.widescreen { }1216px and up
widescreen-only@include mx.widescreen-only { }1216px to 1407px
fullhd@include mx.fullhd { }1408px and up

Custom Breakpoints

You can override the default breakpoint values by setting the variables before importing Bulma:
// Custom breakpoint values
$tablet: 640px;
$desktop: 1280px;
$widescreen: 1536px;
$fullhd: 1920px;

@use "bulma/bulma" with (
  $tablet: 640px,
  $desktop: 1280px,
  $widescreen: 1536px,
  $fullhd: 1920px
);
Changing breakpoint values will affect all responsive utilities and components throughout the framework.

Mobile-First Approach

Bulma follows a mobile-first philosophy. This means:
  1. Base styles apply to all screen sizes
  2. Breakpoint modifiers add or override styles for larger screens
  3. Use min-width media queries for progressive enhancement
<!-- Mobile-first column sizing -->
<div class="columns">
  <div class="column is-12 is-6-tablet is-4-desktop">
    <!-- 100% on mobile, 50% on tablet, 33.33% on desktop -->
  </div>
</div>

Build docs developers (and LLMs) love