Hacker News new | past | comments | ask | show | jobs | submit login
Bulma CSS Framework (bulma.io)
48 points by gjvc 24 days ago | hide | past | favorite | 53 comments



Backend guy here, but I wrote my website's Rails+Turbo frontend with Bulma. It's been pleasant, works well enough, generally hassle-free for typical web CMS-blog-infosite type duties. My only real complaint is the navbar menus lack submenus.


My personal take on Bulma is that it is like an uglier version of Bootstrap CSS that doesn't work as well and is harder to modify (in my experience, from when I had to poke at it to fix some issues I was having).

I worked with it for a couple projects, I was not particularly pleased with it overall. It's okay, I guess, but just nothing to really write home about.


Same experience.

Also it’s a matter of taste, but its cyanish primary theme looks meh and it’s pretty hard to find a good theme. Feels like it could win 2x userbase by simply adopting better default colors.


About 50% of their sponsors are gambling websites. So sad.


I hate gambling ads and casinos.

But I reckon in this case, if I had to guess, I think maybe it's an external or internal developer that's making lots of Casino websites. Maybe they work for a group that owns all those brands?

Surely it can't be individual casinos, where Bullma is big in the Casino website development space and has grown in that sector by word of mouth!? LOL


I've seen other open source projects with tons of gambling sponsors, it's not just Bulma. My guess is that it's a relatively cheap way to get links for SEO.


It’s rather common for mid-sized OSS projects to have a lot of gambling sponsors for the links. Cheaper than ads.


Do they sponsor just for the SEO (getting your website mentioned on a frequently-visited website) or is there more to it?


Usually it’s because the company uses the software in question and wants to ensure it sticks around.

In this instance it feels a little weird. No good reason why a CSS framework would be particularly suited for gambling site operations, you may be right that it’s an SEO play.


the answer is performance

css is the most performant way to create interactive experiences

if gaming (gambling in this genre) sponsored react, their customers would use a more performant poker app. react can barely handle being reddit.


Highly unlikely. HTTP latency is going to matter 1000x more than React. If anything you'd expect to see them sponsoring WebSocket libraries or something.


i’m talking layout, paint, composite

you’re talking network

javascript, which i write every day and love, fundamentally can do what i’m talking about through shaders in webgl or webgpu but people generally reach for react, which is the performance bottleneck in the rendering loop i’m describing because javascript is fundamentally inefficient at graphics and why the technologies i’m referencing were implemented with javascript bindings in the first place.

i agree the network is important, but it is generally the last bit in a call stack for any given user interaction.


> i’m talking layout, paint, composite

> you’re talking network

I'm talking overall page performance. A gambling site using React vs not is going to have an absolutely tiny impact compared to network latency. They're sponsoring this framework as an SEO play.


Most common are that multiple gambling sites are own by one company. So if the company sponsors, you can put multiple brands on (and for SEO purposes).


No. There's sadder.

Some of those are sellers of fake likes/follows on social media.


Don't discount Bulma because of this though. It's quite a joy to use.


because it has follow links im there. It's a SEO spam.


Why is it sad?


Hard to see how casinos are much more exploitative than Silicon Valley social media companies. And they sponsor lots of tech.


Many many years ago, when lots of my classmates chose Bootstrap, I went the other way and wanted to try out something else, so I picked Bulma.

This framework works well and was pretty fun to use, until I wanted to style it my way, then it became my enemy.

But I saw there was a way to extend the styling to allow customization https://bulma.io/documentation/sass/extends so that issue is probably solved.


I used Bulma for a while. It was great until I needed to extend a style, then it was a pain. I now use Tailwind, which I swore off for a long while, because it makes for verbose html. But I am having a much better time overall now.


Too many functional css frameworks like this around, nothing novel, all kinda the same, including that super popular one everyone is using these days...

Just write css and save your brain space for actually useful abstractions.


If you're talking about Tailwind, this is nothing like that. This is a set of pre-built components, not unlike Bootstrap. You just use the components they offer, instead of having to manually code up a drop-down from scratch for each new website you create.


Everheard of copy/paste? Not unlike the way you copy/paste these css classes from the last project to the next.

Guess what? Taiwind has components too, but the built-in of course is never the exact thing people want, so they had to add utility classes. And when it doesn't cut, you go back to css anyway. A pointless effort only to add another thing you have to manage just for styling.


Personally I can never get line-space or line-height vs height/min-height/padding/font-size or whatever. That’s why I’m using e.g. bootstrap. If I just write css, my inputs receive 1px vertical scroll on some devices, but not all.

Make css model internally consistent, i.e. allocate inputs inside-out and not vice versa, plus another thousand microissues, then we’ll talk about raw css with only colorscheme imports. Until that, writing ad hoc half-framework is a waste of time.


Taking this to the next level is prompting models like Sonnet 3.5 and GPT-4o to build plain JS and CSS web apps and see how unnecessary Tailwind is to create a nice looking UI


Probably gonna get some hate here. Really, another CSS framework? People, can we make our minds and stay on one and perfect it instead keep chasing the next 'better' alternatives?


It’s been around for awhile though.


Upstarts! These days people only start sharing new fangled CSS frameworks 9 years in advance.

https://news.ycombinator.com/item?id=10974253


Bulma is like 10 years old at this point, it’s been around forever.

You’re wrong because there’s no one size fits all: some prefer the design of Bulma, some prefer Bootstrap, some prefer Chakra…

The advantage of these frameworks is they come with a ready to use theme, which is why there are so many, not everyone likes the same thing. The disadvantage of these frameworks is that they’re often difficult to customize which is why headless frameworks like Radix and abstractions like Tailwind are taking over (but they will never replace the former framework because sometimes you want to use a pre-made design).


Aaaaannnd, it might be my own psychological issues, but I totally read the URL as "bulimia"


I thought this project was dead?


Bulma had a major update this past March to v1.0.0, with a couple minor releases since. Still receiving commits somewhat regularly, so I wouldn't call it dead.

https://github.com/jgthms/bulma/releases


I switched all my Bulma sites to https://daisyui.com/ since it works with Tailwind.


instead of writing 100 class names For every element, every page, every project, again and again…

  <button class="bg-indigo-600 px-4 py-3 text-center text-sm font-semibold inline-block text-white cursor-pointer uppercase transition duration-200 ease-in-out rounded-md hover:bg-i">
    Tailwind Button
  </button>
use semantic class names sunglasses emoji

  <button class="btn btn-primary">
    daisyUI Button
  </button>
Heck, how did we miss that for almost three decades? That's my favorite style now.


No one missed anything. Most people now are using React with Tailwind, so their code is essentially

   <Button>React Button</Button>


How is this a good thing?

You now need the extra JS from that <Button> component to encapsulate the HTML with TW classes.

Plus all the overhead from TW itself. You need a ton of classes to essentially replicate inline styles.

Plus all the CPU needed to parse and execute all that extra JS and CSS code.

I get that some people prefer this workflow and that's fine, everyone has preferences. But arguing this is better than sending an HTML tag with a couple of classes is absurd.


> You need a ton of classes to essentially replicate inline styles.

This works better for optimization because you reuse classes. End developer doesn't care. Designers use Storybook to keep track of the components.

> But arguing this is better than sending an HTML tag with a couple of classes is absurd.

If you compile/SSR your React, the end user will get an HTML tag with classes.


With Bulma/Bootstrap you're also reusing classes but you just need a fracion of those compared to TW. I don't know the ratio but I would imagine it's something like 1:10.

And when using TW with SSR you're still sending all those extra classes per element.


> If you compile/SSR your React, the end user will get an HTML tag with classes.

Isn’t that just semantic HTML with extra steps?


Is this specific to react?


Bootstrap ?


he's joking


That's madness.

"instead of writing 100 class names"

"use semantic class names"

What a loop.


In practice DaisyUI makes it easy for people who use Tailwind to quickly build prototype UIs. Later they can go back and replace the DaisyUI classes with Tailwind.

In less words, if you can’t stand Tailwind then DaisyUI is not for you.


Is this really the main use case?

The product website seems to suggest we can add DaisyUI to a React project -- and proceed with development with no additional notes on replacing the styles later before production

[1] https://react.daisyui.com/?path=/story/data-display-table--w...

[2] https://daisyui.com/resources/videos/react-ui-design-mastery...

[3] https://github.com/daisyui/react-daisyui


Looks very interesting and useful.

I am looking to create a reusable React template for a lot of POc /mockup/ demo websites - was thinking of using react-bootstrap so I can use components from bootstrap and apply bootstrap themes for the styling and colors.

Any advice on better choices today for this use case?


Unrelated to the technical merits (but perhaps inline with justmedep's observation [0]), but the name can be contentious.

I see no explanation of the name on the site in the documentation, but there would be two origins that come to mind immediately:

- The japanese (romanized) spell of "bloomer", the garment, which is a well known cultural artifact, also famous in the manga/anime circles. It was removed from public school decades ago and stays in public's consciousness as an attire to wear mainly for porn, gravures etc.

- the DragonBall character named after the garment.

None of these two feel right in a corporate setting, and while a project name isn't everything, there's a myriad of other similar pojects out there with more recognition so the competition is tough.

It could enough for it to be only ever seriously checked in companies that are already past the point they care about any public image.

[0] https://news.ycombinator.com/item?id=41967064&goto=item%3Fid...


I'm starting to feel like I'm seeing this take in every thread lately.


I wish you could develop your point a bit more.

Names having connotations is one thing, their connotation coming either from the sexy field or a character in a giant commercial franchise is I think pretty rare.

It makes me wonder if there isn't some random system level library named "Pooh", getting it into a China target project could be an honorable feat.


And? Git is "idiot" in British parlance. I don't think software should be made to appease some false idea of corporate politeness.


To note, I'm not judging if it's a good name or not, I'm saying it starts with a handicap. I didn't put it in that order, but more than politeness[0] I'd assume using a popular character might not be the best for searchability, or being taken more seriously than a fan project.

GIMP's name definitely hurted it before there was enough acceptance of it. Ultimately I think most names will work out if the project gets past a critical mass.

[0] I assume you put the sexy aspect into "politeness" ?


I read it as "bulimia" – an eating disorder. It shouldn't matter, in a technical sense, but unfortunately I think people's associations with names does taint their view of the product. Cross-language issues are the most obvious, but it happens everywhere.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: