# 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.
## Install
Save in your project root:
# Bulma — Modern CSS Framework Based on Flexbox
## Quick Use
```bash
npm install bulma
# or CDN
#
```
```html
First
Second
```
## 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
- https://github.com/jgthms/bulma
- https://bulma.io/documentation/
---
Source: https://tokrepo.com/en/workflows/c8744dbc-3ead-11f1-9bc6-00163e2b0d79
Author: AI Open Source