Convert Figma logo to code with AI

jgthms logobulma

Modern CSS framework based on Flexbox

49,259
3,949
49,259
472

Top Related Projects

170,434

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.

18,293

A lightweight and modular front-end framework for developing fast and powerful web interfaces

10,208

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

  1. 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>
  1. 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>
  1. 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:

  1. Via CDN:
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.4/css/bulma.min.css">
  1. 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

170,434

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.

18,293

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.

10,208

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Bulma

Bulma is a modern CSS framework based on Flexbox.

Github npm npm Awesome Join the chat at https://gitter.im/jgthms/bulma Build Status

Bulma: a Flexbox CSS framework

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

ProjectDescription
Bulma with Attribute ModulesAdds support for attribute-based selectors
Bulma with RailsIntegrates Bulma with the rails asset pipeline
BulmaRazorA lightweight component library based on Bulma and Blazor.
Vue Admin (dead)Vue Admin framework powered by Bulma
BulmaswatchFree themes for Bulma
Goldfish (read-only)Vault UI with Bulma, Golang, and Vue Admin
ember-bulmaEmber addon providing a collection of UI components for Bulma
BloomerA set of React components for Bulma
React-bulmaReact.js components for Bulma
BuefyLightweight UI components for Vue.js based on Bulma
vue-bulma-componentsBulma components for Vue.js with straightforward syntax
BulmaJSJavascript integration for Bulma. Written in ES6 with a data-* API
Bulma-modal-fxA set of modal window effects with CSS transitions and animations for Bulma
Bulma StylusUp-to-date 1:1 translation to Stylus
Bulma.styl (read-only)1:1 Stylus translation of Bulma 0.6.11
elm-bulmaBulma + Elm
elm-bulma-classesBulma classes prepared for usage with Elm
Bulma CustomizerBulma Customizer – Create your own bespoke Bulma build
FulmaWrapper around Bulma for fable-react
Laravel EnsoSPA Admin Panel built with Bulma, VueJS and Laravel
Django BulmaIntegrates Bulma with Django
Bulma TemplatesFree Templates for Bulma
React Bulma ComponentsAnother React wrap on React for Bulma.io
purescript-bulmaPureScript bindings for Bulma
Vue DatatableBulma themed datatable based on Vue, Laravel & JSON templates
bulma-fluentFluent Design Theme for Bulma inspired by Microsoft’s Fluent Design System
csskrt-csskrtAutomatically add Bulma classes to HTML files
bulma-pagination-reactBulma pagination as a react component
bulma-helpersFunctional / Atomic CSS classes for Bulma
bulma-swatch-hookBulma swatches as a react hook and a component
BulmaWP (read-only)Starter WordPress theme for Bulma
RalmaStateless Ractive.js Components for Bulma
Django Simple BulmaLightweight integration of Bulma and Bulma-Extensions for your Django app
rbxComprehensive React UI Framework written in TypeScript
Awesome Bulma TemplatesFree real-world Templates built with Bulma
TrunxSuper Saiyan React components, son of awesome Bulma
@aybolit/bulmaWeb Components library inspired by Bulma and Bulma-extensions
DrulmaDrupal theme for Bulma.
BulrushA Bulma-based Python Pelican blog theme
Bulma Variable ExportAccess Bulma Variables in Javascript/Typescript in project using Webpack
BulmilAn agnostic UI components library based on Web Components, made with Bulma & Stencil.
Svelte Bulma ComponentsLibrary of UI components to be used in Svelte.js or standalone.
Bulma Nunjucks StarterkitStarterkit for Nunjucks with Bulma.
Bulma-SocialSocial Buttons and Colors for Bulma
DivjoyReact codebase generator with Bulma templates
BlazoriseBlazor component library with the support for Bulma CSS framework
Oruga-BulmaBulma theme for Oruga UI
@bulvar/bulmaBulma with CSS Variables support
@angular-bulmaAngular directives and components to use in your Bulma projects
Bulma CSS Class CompletionCSS class name completion for the HTML class attribute based on Bulma CSS classes.
Crispy-BulmaBulma template pack for django-crispy-forms
ManifestManifest is a lightweight Backend-as-a-Service with essential features: DB, Admin panel, API, JS SDK
Reactive BulmaA component library based on React, Bulma, Typescript and Rollup

Browser testing via

Copyright and license Github

Code copyright 2023 Jeremy Thomas. Code released under the MIT license.

NPM DownloadsLast 30 Days