ConfigsApr 23, 2026·3 min read

Bulma — Modern CSS Framework Based on Flexbox

A pure CSS framework with no JavaScript dependency that provides responsive columns, form controls, and UI components using a clean readable class syntax.

Introduction

Bulma is a free, open-source CSS framework built entirely on Flexbox. It provides a clean, readable class-naming system and a collection of responsive components without shipping any JavaScript, making it lightweight and framework-agnostic.

What Bulma Does

  • Provides a Flexbox-based responsive column system with automatic equal-width sizing
  • Includes UI components such as cards, modals, navbars, tabs, dropdowns, and pagination
  • Offers form control styling for inputs, selects, textareas, checkboxes, and radio buttons
  • Ships helper classes for colors, spacing, typography, and visibility across breakpoints
  • Supports theming through Sass variables for colors, spacing, and component dimensions

Architecture Overview

Bulma is written entirely in Sass and compiles to a single CSS file. There is no JavaScript runtime. The framework uses a BEM-inspired class naming convention (.button.is-primary.is-large) that makes markup self-documenting. The column system is built on Flexbox with responsive modifiers for mobile, tablet, desktop, and widescreen breakpoints. Every component is a standalone Sass partial that can be imported individually.

Self-Hosting & Configuration

  • Install via npm or include the compiled CSS from a CDN with a single link tag
  • Import individual Sass files to include only the components you need
  • Override the default theme by setting Sass variables before importing Bulma partials
  • Use Bulma's responsive helpers (is-hidden-mobile, is-flex-desktop) for layout control
  • Combine with any JavaScript framework since Bulma has zero JavaScript opinions

Key Features

  • Zero JavaScript dependency keeps the bundle small and avoids framework lock-in
  • Readable modifier classes (is-primary, is-large, is-rounded) for intuitive styling
  • Fully responsive out of the box with five breakpoint tiers
  • Modular Sass architecture allows importing only what you need
  • Clean documentation with interactive examples for every component

Comparison with Similar Tools

  • Bootstrap — includes JavaScript plugins and more components; larger bundle and opinionated JS
  • Tailwind CSS — utility-only with no prebuilt components; more verbose markup
  • Foundation — comparable Sass framework with JavaScript plugins; heavier and less active
  • DaisyUI — Tailwind plugin with component classes; requires Tailwind as a dependency
  • Skeleton CSS — much smaller boilerplate; far fewer components and no active development

FAQ

Q: Does Bulma include JavaScript components like modals or dropdowns? A: No. Bulma provides only CSS styling. You add your own JavaScript to toggle classes like is-active on interactive components.

Q: How does Bulma compare to Tailwind CSS? A: Bulma uses semantic component classes (.card, .button) while Tailwind uses low-level utilities. Bulma is faster to start with; Tailwind offers more design flexibility.

Q: Can I customize Bulma's colors? A: Yes. Override Sass variables like $primary, $link, and $info before importing Bulma to set your own color palette.

Q: Is Bulma still actively maintained? A: Yes. Bulma v1 introduced CSS custom properties and continues to receive updates from its maintainer and community.

Sources

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets