Bulma
A CSS-only framework with no JavaScript.
Bulma is a pure stylesheet. No JavaScript ships with it, nothing initialises, nothing binds to your DOM. You get a flexbox layout system and a readable class vocabulary, and you wire up any interactivity yourself.
At a glance
| Install | one <link> tag, or npm install bulma |
| JavaScript | none at all, ever |
| Styling | Sass source, CSS custom properties since v1 |
| Class naming | readable modifiers like is-primary, is-large |
| MCP server | not published |
| License | MIT |
Install
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@1/css/bulma.min.css">
What the markup looks like
The class vocabulary is the selling point: is- for states and variants, has- for properties. You can read a Bulma template out loud.
<div class="columns is-vcentered">
<div class="column is-two-thirds">
<div class="box">
<p class="title is-4">Deployment</p>
<button class="button is-primary is-medium">Deploy</button>
</div>
</div>
</div>
The zero-JavaScript trade
Dropdowns, modals and tabs are styled but inert. Bulma gives you the appearance of the component and none of the behaviour, which means you also get none of the accessibility. If you need a working modal, you are writing the focus trap and the keyboard handling yourself, and most people do not.
Choose it if
- You want a light, readable alternative to Bootstrap with no JavaScript to load.
- Your interactivity already comes from Alpine, htmx, Stimulus or a framework.
Look elsewhere if
- You need working interactive components out of the box.
- Accessibility is a requirement. Nothing here is documented for it.