In this article, I will present a few resources and basic information about Bulma Css - the open-source CSS framework based on Flexbox.
Bulma is a relatively new entrant to the battleground of CSS frameworks and has made a name for itself in a short time.
Thanks for reading!
Simple, one-page starter styled with Bulma v0.9.1 released under the MIT license on Github. Being a simple Flask starter, this Bulma-based design can be integrated with ease into any Python-based framework like Django, FastAPI.
This is a super simple one-page starter with a hamburger menu and a popup for authentication forms. The UI is crafted by Css Ninja agency and the code can be downloaded directly from Github under the MIT License.
Krypton is a one-page landing page starter built by Css Ninja Studio. Krypton is licensed under the MIT license and based on this permissive license, the UI can be used for unlimited hobby & commercial projects
- Bulma Krypton - source code
Admin Dashboard coded in Flask Framework on top of Dashkit Dashboard design (PRO Version) designed by CssNinja.
Admin Dashboard coded in Django Framework on top of Dashkit Dashboard design (PRO Version) designed by CssNinja.
Coding a basic web page with Bulma it's quite easy. We need to include the CSS file, available on CDN:
<!DOCTYPE html> <html lang="en"> <head> <title>Bulma CSS - Starter Page</title> <link rel="stylesheet" href="https://email@example.com/css/bulma.min.css" crossorigin="anonymous" /> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css" crossorigin="anonymous" /> </head> <body> <div class="container is-fluid"> <!-- Add here Bulma Stuff --> </div> </body> </html>
Bulma and Font-Awesome are loaded via CDN (no download required):
The first thing you should learn about Bulma is the modifier classes. These allow you to set alternative styles to almost all of the Bulma elements. They all start with is-* or has-*, and then you replace the * with the style you want. For instance, let's add a few styled buttons:
<!DOCTYPE html> <html> <head> <body> ... <p> <button class="button"> Button </button> <button class="button is-primary"> Primary button </button> <button class="button is-large is-warning"> Large button </button> </p> ... </body> </html>
And the result
The code snippet that code some simple buttons is fairly simple:
<button class="button is-primary is-small">Small</button> <button class="button is-link">Default</button> <button class="button is-warning is-normal">Normal</button> <button class="button is-success is-medium">Medium</button> <button class="button is-danger is-large">Large</button>
The output for this code looks like on this screenshot:
Every element in Bulma is mobile-first and optimizes for vertical reading, so by default on mobile and uses 5 breakpoints: mobile (up to 768px), tablet (from 769px), desktop (from 1024px), widescreen: from 1216px
To set the color of an element, we need to use the is-* in front of the desired color:
This component can be invoked by using class "hero" as the main container and this will code a full-width banner on the page.
Using cards for our team or pricing is quite a common component used in many templates. Bulma helps us to code a team section using a minimum CSS code:
Let's take a look at the first card and analyze the relevant CSS classes:
<div class="column is-4"> <div class="level"> <div class="level-item"> <figure class="image is-128x128"> <img class="is-rounded" src="media/team-1.jpg" alt=""> </figure> </div> </div> <h5 class="title is-5">Angelina Jolie</h5> <p class="subtitle is-6">CEO</p> <p>When I'm not obsessively stressing ...</p> </div>
- The card width has 4 cells (we need three cards on a row)
- The Image has the figure container and the inner "is-rounded" image
- The descriptors "is-5" and "is-6" are classes defined for headings objects
Thanks for reading! For more resources, please access:
Btw, my (nick) name is Sm0ke and I'm pretty active also on Twitter.