Top Related Projects
The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.
A utility-first CSS framework for rapid UI development.
The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites that work on any kind of device.
Semantic is a UI component framework based around useful principles from natural language.
A lightweight and modular front-end framework for developing fast and powerful web interfaces
A minimalist CSS framework.
Quick Overview
Bulma is a modern CSS framework based on Flexbox. It's designed to be lightweight, responsive, and modular, allowing developers to easily create beautiful and consistent user interfaces for web applications without writing custom CSS from scratch.
Pros
- Lightweight and fast, with no JavaScript dependencies
- Highly customizable through Sass variables and modular structure
- Responsive design out of the box with a mobile-first approach
- Clear and comprehensive documentation
Cons
- Limited built-in JavaScript functionality compared to some other frameworks
- Learning curve for developers used to grid-based systems
- Some users report issues with specificity and overriding default styles
- Less extensive ecosystem of third-party components compared to Bootstrap
Code Examples
- Creating a responsive navigation bar:
<nav class="navbar" role="navigation" aria-label="main navigation">
<div class="navbar-brand">
<a class="navbar-item" href="https://bulma.io">
<img src="https://bulma.io/images/bulma-logo.png" width="112" height="28">
</a>
</div>
<div class="navbar-menu">
<div class="navbar-start">
<a class="navbar-item">Home</a>
<a class="navbar-item">Documentation</a>
</div>
</div>
</nav>
- Creating a card component:
<div class="card">
<div class="card-image">
<figure class="image is-4by3">
<img src="https://bulma.io/images/placeholders/1280x960.png" alt="Placeholder image">
</figure>
</div>
<div class="card-content">
<div class="media">
<div class="media-content">
<p class="title is-4">John Smith</p>
<p class="subtitle is-6">@johnsmith</p>
</div>
</div>
<div class="content">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Phasellus nec iaculis mauris.
</div>
</div>
</div>
- Creating a responsive column layout:
<div class="columns is-mobile">
<div class="column">
First column
</div>
<div class="column">
Second column
</div>
<div class="column">
Third column
</div>
<div class="column">
Fourth column
</div>
</div>
Getting Started
To start using Bulma, you can include it in your project via CDN or npm:
- Via CDN:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
- Via npm:
npm install bulma
Then import it in your Sass file:
@import 'bulma/bulma';
Once included, you can start using Bulma classes in your HTML to create responsive layouts and components.
Competitor Comparisons
The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.
Pros of Bootstrap
- More comprehensive feature set, including JavaScript components
- Larger community and ecosystem, with extensive third-party resources
- Better browser compatibility, especially for older versions
Cons of Bootstrap
- Heavier file size, potentially impacting page load times
- More opinionated design, which can lead to "Bootstrap-looking" websites
- Steeper learning curve due to its extensive features and options
Code Comparison
Bootstrap:
<div class="container">
<div class="row">
<div class="col-md-4">Column 1</div>
<div class="col-md-4">Column 2</div>
<div class="col-md-4">Column 3</div>
</div>
</div>
Bulma:
<div class="columns">
<div class="column">Column 1</div>
<div class="column">Column 2</div>
<div class="column">Column 3</div>
</div>
Bootstrap uses a more complex grid system with container, row, and column classes, while Bulma's approach is simpler with just columns. Bulma's syntax is generally more intuitive and requires less markup. However, Bootstrap's grid system offers more flexibility for responsive layouts across different screen sizes.
A utility-first CSS framework for rapid UI development.
Pros of Tailwind CSS
- Highly customizable with a utility-first approach
- Smaller file sizes due to purging unused styles
- Faster development with pre-built utility classes
Cons of Tailwind CSS
- Steeper learning curve for developers new to utility-first CSS
- Can lead to longer class names in HTML
- Requires additional configuration for optimal performance
Code Comparison
Bulma (CSS):
.button {
background-color: #00d1b2;
border-color: transparent;
color: #fff;
}
Tailwind CSS (HTML):
<button class="bg-teal-500 border-transparent text-white">
Button
</button>
Bulma focuses on pre-built components with semantic class names, while Tailwind CSS uses utility classes to build custom designs. Bulma provides a more traditional CSS framework experience, whereas Tailwind CSS offers greater flexibility at the cost of more verbose HTML.
Both frameworks have their strengths, and the choice between them often depends on project requirements and team preferences. Bulma may be better suited for rapid prototyping and projects that align with its design system, while Tailwind CSS excels in creating highly customized interfaces with fine-grained control over styles.
The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites that work on any kind of device.
Pros of Foundation
- More comprehensive framework with additional JavaScript components
- Offers greater customization options through Sass variables
- Includes a robust grid system with flexbox support
Cons of Foundation
- Steeper learning curve due to more complex structure
- Larger file size, potentially impacting page load times
- Requires more setup and configuration compared to Bulma
Code Comparison
Bulma (button example):
<button class="button is-primary">
Button
</button>
Foundation (button example):
<button class="button primary">
Button
</button>
Both frameworks offer similar syntax for basic elements, but Foundation provides more advanced features and customization options through its Sass mixins and JavaScript plugins.
Foundation's grid system is more complex but offers greater flexibility:
<div class="grid-x grid-margin-x">
<div class="cell small-6 medium-4 large-3">Content</div>
</div>
Bulma's grid system is simpler and more intuitive:
<div class="columns">
<div class="column is-half-mobile is-one-third-tablet is-one-quarter-desktop">Content</div>
</div>
Both frameworks are popular choices for responsive web design, with Bulma focusing on simplicity and ease of use, while Foundation offers more advanced features and customization options at the cost of increased complexity.
Semantic is a UI component framework based around useful principles from natural language.
Pros of Semantic-UI
- More comprehensive component library with a wider range of UI elements
- Highly customizable with theming support
- Robust documentation and active community
Cons of Semantic-UI
- Larger file size and potentially slower load times
- Steeper learning curve due to its extensive features
- Less frequently updated compared to Bulma
Code Comparison
Semantic-UI button:
<button class="ui button">
Follow
</button>
Bulma button:
<button class="button">
Follow
</button>
Both frameworks offer clean and readable syntax for creating UI elements. Semantic-UI uses the ui
class prefix for most components, while Bulma uses more descriptive class names without a specific prefix.
Semantic-UI provides more out-of-the-box styling options and variations, whereas Bulma focuses on simplicity and flexibility, allowing developers to easily customize components with modifier classes.
In terms of responsiveness, both frameworks offer grid systems and responsive utilities. However, Bulma's approach is generally considered more straightforward and easier to implement for beginners.
Overall, Semantic-UI is better suited for larger, more complex projects that require extensive UI components and customization. Bulma, on the other hand, is ideal for smaller projects or developers who prefer a lightweight, easy-to-use framework with a gentler learning curve.
A lightweight and modular front-end framework for developing fast and powerful web interfaces
Pros of UIkit
- More comprehensive component library with advanced features like parallax and scrollspy
- Extensive JavaScript functionality for interactive elements
- Highly customizable with SASS variables and mixins
Cons of UIkit
- Steeper learning curve due to more complex structure
- Larger file size, potentially impacting page load times
- Less focus on simplicity and minimalism compared to Bulma
Code Comparison
Bulma (button example):
<a class="button is-primary">
Button
</a>
UIkit (button example):
<button class="uk-button uk-button-primary">
Button
</button>
Both frameworks use class-based styling, but UIkit prefixes its classes with uk-
. UIkit offers more variations and modifiers for components, while Bulma focuses on simplicity and readability.
UIkit provides more built-in JavaScript functionality, whereas Bulma is primarily CSS-only and relies on custom JavaScript or additional libraries for interactive components.
Overall, UIkit is more feature-rich and customizable, while Bulma emphasizes simplicity and ease of use. The choice between them depends on project requirements and developer preferences.
A minimalist CSS framework.
Pros of Milligram
- Extremely lightweight (2kb gzipped) compared to Bulma's larger footprint
- Simpler learning curve with minimal classes and components
- Better performance due to smaller file size and fewer CSS rules
Cons of Milligram
- Limited built-in components and features compared to Bulma's extensive offerings
- Less customization options and flexibility for complex layouts
- Smaller community and ecosystem for support and extensions
Code Comparison
Milligram button:
<button class="button">Default Button</button>
<button class="button button-outline">Outlined Button</button>
Bulma button:
<button class="button">Default Button</button>
<button class="button is-outlined">Outlined Button</button>
Both frameworks offer simple and intuitive class naming conventions. Milligram uses a more minimalist approach with fewer classes, while Bulma provides more specific and descriptive class names for various styles and states.
Milligram is ideal for small projects or prototypes where simplicity and performance are crucial. Bulma is better suited for larger, more complex projects that require a wider range of pre-built components and customization options.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Bulma
Bulma is a modern CSS framework based on Flexbox.
Quick install
Bulma is constantly in development! Try it out now:
NPM
npm install bulma
or
Yarn
yarn add bulma
Bower
bower install bulma
Import
After installation, you can import the CSS file into your project using this snippet:
@import 'bulma/css/bulma.css'
CDN
https://www.jsdelivr.com/package/npm/bulma
Feel free to raise an issue or submit a pull request.
CSS only
Bulma is a CSS framework. As such, the sole output is a single CSS file: bulma.css
You can either use that file, "out of the box", or download the Sass source files to customize the variables.
There is no JavaScript included. People generally want to use their own JS implementation (and usually already have one). Bulma can be considered "environment agnostic": it's just the style layer on top of the logic.
Browser Support
Bulma uses autoprefixer to make (most) Flexbox features compatible with earlier browser versions. According to Can I use, Bulma is compatible with recent versions of:
- Chrome
- Edge
- Firefox
- Opera
- Safari
Internet Explorer (10+) is only partially supported.
Documentation
The documentation resides in the docs directory, and is built with the Ruby-based Jekyll tool.
Browse the online documentation here.
Related projects
Project | Description |
---|---|
Bulma with Attribute Modules | Adds support for attribute-based selectors |
Bulma with Rails | Integrates Bulma with the rails asset pipeline |
BulmaRazor | A lightweight component library based on Bulma and Blazor. |
Vue Admin (dead) | Vue Admin framework powered by Bulma |
Bulmaswatch | Free themes for Bulma |
Goldfish (read-only) | Vault UI with Bulma, Golang, and Vue Admin |
ember-bulma | Ember addon providing a collection of UI components for Bulma |
Bloomer | A set of React components for Bulma |
React-bulma | React.js components for Bulma |
Buefy | Lightweight UI components for Vue.js based on Bulma |
vue-bulma-components | Bulma components for Vue.js with straightforward syntax |
BulmaJS | Javascript integration for Bulma. Written in ES6 with a data-* API |
Bulma-modal-fx | A set of modal window effects with CSS transitions and animations for Bulma |
Bulma Stylus | Up-to-date 1:1 translation to Stylus |
Bulma.styl (read-only) | 1:1 Stylus translation of Bulma 0.6.11 |
elm-bulma | Bulma + Elm |
elm-bulma-classes | Bulma classes prepared for usage with Elm |
Bulma Customizer | Bulma Customizer – Create your own bespoke Bulma build |
Fulma | Wrapper around Bulma for fable-react |
Laravel Enso | SPA Admin Panel built with Bulma, VueJS and Laravel |
Django Bulma | Integrates Bulma with Django |
Bulma Templates | Free Templates for Bulma |
React Bulma Components | Another React wrap on React for Bulma.io |
purescript-bulma | PureScript bindings for Bulma |
Vue Datatable | Bulma themed datatable based on Vue, Laravel & JSON templates |
bulma-fluent | Fluent Design Theme for Bulma inspired by Microsoftâs Fluent Design System |
csskrt-csskrt | Automatically add Bulma classes to HTML files |
bulma-pagination-react | Bulma pagination as a react component |
bulma-helpers | Functional / Atomic CSS classes for Bulma |
bulma-swatch-hook | Bulma swatches as a react hook and a component |
BulmaWP (read-only) | Starter WordPress theme for Bulma |
Ralma | Stateless Ractive.js Components for Bulma |
Django Simple Bulma | Lightweight integration of Bulma and Bulma-Extensions for your Django app |
rbx | Comprehensive React UI Framework written in TypeScript |
Awesome Bulma Templates | Free real-world Templates built with Bulma |
Trunx | Super Saiyan React components, son of awesome Bulma |
@aybolit/bulma | Web Components library inspired by Bulma and Bulma-extensions |
Drulma | Drupal theme for Bulma. |
Bulrush | A Bulma-based Python Pelican blog theme |
Bulma Variable Export | Access Bulma Variables in Javascript/Typescript in project using Webpack |
Bulmil | An agnostic UI components library based on Web Components, made with Bulma & Stencil. |
Svelte Bulma Components | Library of UI components to be used in Svelte.js or standalone. |
Bulma Nunjucks Starterkit | Starterkit for Nunjucks with Bulma. |
Bulma-Social | Social Buttons and Colors for Bulma |
Divjoy | React codebase generator with Bulma templates |
Blazorise | Blazor component library with the support for Bulma CSS framework |
Oruga-Bulma | Bulma theme for Oruga UI |
@bulvar/bulma | Bulma with CSS Variables support |
@angular-bulma | Angular directives and components to use in your Bulma projects |
Bulma CSS Class Completion | CSS class name completion for the HTML class attribute based on Bulma CSS classes. |
Crispy-Bulma | Bulma template pack for django-crispy-forms |
Manifest | Manifest is a lightweight Backend-as-a-Service with essential features: DB, Admin panel, API, JS SDK |
Reactive Bulma | A component library based on React, Bulma, Typescript and Rollup |
Copyright and license
Code copyright 2023 Jeremy Thomas. Code released under the MIT license.
Top Related Projects
The most popular HTML, CSS, and JavaScript framework for developing responsive, mobile first projects on the web.
A utility-first CSS framework for rapid UI development.
The most advanced responsive front-end framework in the world. Quickly create prototypes and production code for sites that work on any kind of device.
Semantic is a UI component framework based around useful principles from natural language.
A lightweight and modular front-end framework for developing fast and powerful web interfaces
A minimalist CSS framework.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot