Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Bulma Laravel Package

jgthms/bulma

Bulma is a modern, responsive CSS framework based on Flexbox. Build clean layouts and UI components with a simple class system and no JavaScript required. Easy to customize, modular, and great for fast prototyping or production sites.

Deep Wiki
Context7

Getting Started

Install via Composer: composer require jgthms/bulma. Bulma is a CSS-only framework—no JavaScript is required for core functionality. Start by including the compiled CSS (bulma/css/bulma.min.css) in your layout, typically via a CDN for rapid prototyping or publishing assets for production. The official documentation at bulma.io is the primary resource—begin with the columns, buttons, and navbar components to build a responsive layout quickly. A minimal Laravel Blade layout would enqueue Bulma and use its semantic HTML classes without any extra build tooling initially.

Implementation Patterns

Use Bulma’s modifier classes (e.g., is-primary, is-fluid, is-centered) directly in Blade templates for rapid UI development. Integrate with Laravel’s Blade components for reusable UI patterns—e.g., create @component('partials.card', ['title' => '...', 'body' => '...']). Leverage Bulma’s SASS source files (in bulma/sass/) to customize variables (e.g., $primary: #ff3860;) and rebuild CSS using Laravel Mix or Vite—define a custom bulma.scss that imports Bulma after overriding variables. For SPA workflows (e.g., Livewire or Inertia), Bulma’s class-based design avoids JS hook dependencies, making it compatible with reactive rendering without side effects.

Gotchas and Tips

  • Class bloat: Bulma’s utility-heavy approach can inflate HTML; avoid over-nesting by extracting patterns into Blade components or Tailwind-like abstractions (e.g., @class(['btn', 'btn-primary' => $primary])).
  • Override precedence: Bulma’s styles are not scoped—ensure your custom CSS loads after Bulma and use !important sparingly (prefer specificity via is-* modifiers or additional classes).
  • Flexbox quirks: box, columns, and tile containers behave predictably only when direct children follow Bulma’s structural rules (e.g., column inside columns). Missing the wrapper divs breaks layout silently.
  • Extending: Use @extend in SASS for reusable Bulma behaviors (e.g., .btn-outline { @extend .button; ... }). Avoid direct !important hacks for theme tweaks—modularize changes in a custom.scss imported at the end.
  • Mobile-first testing: Always test is-hidden-mobile, is-hidden-tablet, etc., on real devices—these classes rely on media query targets that may not align with your breakpoints.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
davejamesmiller/laravel-breadcrumbs
artisanry/parsedown
christhompsontldr/phpsdk
enqueue/dsn
bunny/bunny
enqueue/test
enqueue/null
enqueue/amqp-tools
milesj/emojibase
bower-asset/punycode
bower-asset/inputmask
bower-asset/jquery
bower-asset/yii2-pjax
laravel/nova
spatie/laravel-mailcoach
spatie/laravel-superseeder
laravel/liferaft
nst/json-test-suite
danielmiessler/sec-lists
jackalope/jackalope-transport