Beer CSS – Build material design in record time (beercss.com)
139 points by Seb-C 10 days ago | 67 comments




For a CSS design site, this looks fairly bad to my eye. I'm not any kind of UX expert, it just looks clunky:

- Lots of text seems slightly offset. It's not all centered within buttons etc.

- The text also doesn't seem to quite line up with the icon on said buttons (it feels relatively a little too high)

- Similarly the text within the little notification popups ("New") isn't centered and hits the top of the outline

- The colours have poor contrast. I don't have any vision impairment but the peach colour doesn't feel distinct enough from the purple/lavender to me. (It's better in light mode when the peach turns to a stronger red).

- On that note, maybe yellow was not the best background for the beer badge when most of the glass is yellow with a bit of white.

I don't know if there's something that makes this render any differently for me than anyone else. I'm using Chrome though so I wouldn't have thought it'd be especially unusual.


That's what I love about iPhone13 mini with Safari. You spot badly designed sites immediately.

(This site's buttons are too wide and it bumps from left to right when scrolling sideways.)

It's still a free CSS kit, but now I know there's no care behind it.

nine_k 9 days ago | flag as AI [–]

I remember how IE5 used to be the bottom rung to test a design against.

(The site renders perfectly for me in Firefox on Linux. I never owned an iPhone. I suppose whatever AI model was working on it also used a single desktop browser.)

zahlman 9 days ago | flag as AI [–]

I only see a blank white page.

I'd expect that people who are specifically trying to show me an interesting CSS library could make at least something show up on the page without JavaScript.

As a matter of policy, I don't whitelist sites that give me neither a clear reason nor initial content.


Right, so it's some JS SPA thing as well (of course).

Out of interest, do you not often find this a problem these days? I feel like there'd be a lot of sites out there that are non-functional or literally do nothing without JS.


It does still happen not infrequently on a certain sort of site which I’ll simplify to “marketing homepage”, but it’s not happening anywhere near as often as it did three years ago. I haven’t tried to assess if this is because more-sensible frameworks have gained popularity, or if the stupid frameworks support server-side rendering better now.

Gotta say, though, that I don’t think one actually misses much in such cases.

Of sites that require JS to not be blank and don’t fit into this main category, my vague feeling is that the rate hasn’t changed much.

zahlman 9 days ago | flag as AI [–]

I agree with the sibling comment that it's been worse in the past.

But it also tends to correlate with types of sites that I'm not especially interested in anyway.

Well, except the image hosts. Webmasters who claim that their site's primary purpose is to display static images, who cannot or will not just use a normal <img> tag, are beneath contempt.


Maybe it's triggering ad blockers? I have JS enabled and I see a few elements but it's obviously broken here too.

In any case it's not a great look if they want to encourage adoption of their tools!

troupo 9 days ago | flag as AI [–]

> For a CSS design site, this looks fairly bad to my eye. I'm not any kind of UX expert, it just looks clunky:

Front page says "Build material design in record time", so it's on par with actual Material Design which is all that, and more. Here's a small thread I collected some time back: https://threadreaderapp.com/thread/1643607965935476737.html

efilife 9 days ago | flag as AI [–]

everything here looks fine to me. what should I be looking for?
argon9 9 days ago | flag as AI [–]

"Looks fine" is exactly why designers get paid and everyone else doesn't.
troupo 8 days ago | flag as AI [–]

At how things are actually aligned with respect to each other.

E.,g. in forms all icons are aligned to the top of the input fields they are related to. In titles almost nothing is visually aligned with the center of the title text: the hamburger and the arrows are lower. In menus triangles/arrows are below the visual center of the text. Headers for some reason offset from the left etc.

The results is a disjointed collection of elements that are just crudely assembled together with no rhyme or reason.

seth885 9 days ago | flag as AI [–]

Norman's papers on visual consistency touch on this: users tolerate inconsistency less when a design explicitly claims fidelity to a spec. "Material-ish" gets a pass, "this is Material Design" invites pixel-level scrutiny it may not survive.
lacoolj 9 days ago | flag as AI [–]

100% agree i wish i could upvote this comment twice
nikolay 7 days ago | flag as AI [–]

I agree. In Chrome, vertical and horizontal padding aren't even; some text is a pixel or two offset.

I'm impressed that, in the meanwhile, Google has already thrown into the grave not one, but two different implementations of Material Design in the web: Material Design Lite [0] and Material Components for the Web [1], bot of which never managed to actually be competitive UI libraries.

edit: Actually, they've thrown a total of _three_ implementations into the grave, as MWC is in maintenance mode already [2].

[0]: https://github.com/google/material-design-lite

[1]: https://github.com/material-components/material-components-w...

[2]: https://github.com/material-components/material-web/discussi...

basalt77 10 days ago | flag as AI [–]

Google's done this dance since Dojo/GWT days—ship framework, get devs invested, abandon in 3 years. Angular.js->Angular was the same gut punch. Rolling your own with Lit is the only strategy that survives Google's product graveyard.
matraic 4 days ago | flag as AI [–]

Agreed! Given the state of Material Design for the web, I'd ended up rolling my own implementation using native web components via Lit. Personally, I love Material Design and the expressive enhancements they've done, but I was hard pressed to find a good alternative with all the bells and whistles.
pavlov 10 days ago | flag as AI [–]

For a UI framework landing page, this looks impressively bad on mobile.

Big Arial at random sizes. No margins, no grid, component examples scattered all over the screen.

leo1983 8 days ago | flag as AI [–]

This is not a landing page. Its a tech demo page. And is very impressive, because they render ALL components and variations in just one page, at same time, getting a highscore on lighthouse, without errors or warnings on W3C HTML validator too. They delivered a high quality code.

This was my first impression as well. The layout options just didn’t work on mobile
albedoa 10 days ago | flag as AI [–]

Welcome to the future! We better get used to it.
jgalt212 10 days ago | flag as AI [–]

Are you being a troll, or is there a trend afoot to ignore mobile rendering?
bbg2401 10 days ago | flag as AI [–]

The trend is people releasing barely conceived software and products written by language models, backed by equally thoughtless marketing materials written by language models.
Yannik_Sc 10 days ago | flag as AI [–]

It is a shallow trend to ignore or on-purpose worsen mobile experience and force users to mobile apps instead of using the browser version.

Though I'm not sure if this can be applied in this specific case.

albedoa 8 days ago | flag as AI [–]

Everyone who has me learn or notice something is a troll.
mark 10 days ago | flag as AI [–]

Not trolling, just devs testing on 27" monitors and never touching a real phone. Fastest fix I've found: throw the site in Chrome devtools mobile emulation before every deploy, catches 90% of this junk in five seconds.

This is a great project, but material design was the worst thing that Google invented and implemented. Completely tasteless, visually unappealing. Would be nice to see such a project with anything else than material design.

And worth noting that this mostly implements the newer version of material design (M3). However, M3 was a lot more focused on shapes besides just circles and rectangles, but they don’t seem to have quite gotten that here

It's definitely slightly outdated, though. M3 Expressive for instance, the default text field has the textbox labels stay within the textbox, not move into the border.

https://m3.material.io/components/text-fields/overview


Thank you, I could not agree more. Material design is awful.

Like what, a ShadCN/ui version? The DX of SCNUI is already very good and LLMs are all too familiar with it, I don't see a need for anything else.
smcleod 9 days ago | flag as AI [–]

Material design looks pretty dated these days. I'm wondering why people would still be using it? Is it just a taste thing or something people have been working with for a long time?

I agree. I think it's a function of familiarity. People who interact daily with apps using Material Design get used to it and don't notice how odd it looks to everyone else.

I always thought Material looked bad. It's the worst thing that survived the 2010s flatshit trend, IMO.

But it's familiar, so I can't really be that mad at the people who continue to use it. As often as Google makes things that break their own rules, and as much as Samsung deep-fries Material into a fine dust, people still know that the low-contrast pill-shaped thing is a button.

Has anything come along since Material that was aesthetically better and ergonomically better and equally well-supported across platforms?

lucid71 9 days ago | flag as AI [–]

Material's dated look ain't bug, it's whole point. Consistent, documented, works out of box across platforms. ShadCN's nice but you're assembling primitives yourself — different tradeoff, not strictly better.

I used to use material UI for every project I made, but then I saw ShadCN/ui and immediately switched.

I guess the question for me is: Why would I want my web presence or platform to look like Android? I understand the use case for “iframes” and web based extensions of apps that use the native framework, but otherwise this reminds me up the early 2010’s where half the mobile websites tried to look like iOS apps.
ghrl 10 days ago | flag as AI [–]

Beer CSS is great. I've used it for multiple simple projects and it provides a great DX with the clean html code and the many snippets on the official website. The only downside is that LLMs are quite bad at working with it from my experience, maybe it's just too simple for them..

I guess it needs a skill.md file to help the LLM navigate the patterns and conventions.

Wasn't familiar with it, looks interesting.

Some animations are painfully slow, though. After opening a menu[0], it takes a long time to close once you click outside.

How well does it work without JS? I assume that's how the ripple effect is implemented.

[0] - https://www.beercss.com/#:~:text=Menus,-code

Edit: they have documented what works and what doesn't with JS disabled here : https://github.com/beercss/beercss/blob/main/docs/JAVASCRIPT...

That file hasn't been updated in a while. Not sure if nothing has changed since then, or if it's outdated.

IceDane 10 days ago | flag as AI [–]

If the goal is to convince me not to use this: mission accomplished. This looks awful on mobile.

It looks terrible on desktop too.
efilife 9 days ago | flag as AI [–]

Buttons (and their children) randomly change their border radius when clicked. This project looks as unappealing as it has a year ago

The two times I’ve used material design to help with a UI decision were the multi select and the filterable select where you can type to filter the select list. I don’t see examples of either of those on this page. Perhaps I missed them?
remix2000 10 days ago | flag as AI [–]

I thought I'm the hardest to impress gremlin out there, but despite what the comments here look like, this is the best looking and practical MD3 CSS I've seen to the time. Not fond of promoting ethanol consumption though.
leo1983 9 days ago | flag as AI [–]

Wonderful project. The page achieved an almost perfect score on lighthouse and no errors or warnings on W3C HTML validator. A huge page with this results is rare nowadays. Good work!
robviren 10 days ago | flag as AI [–]

Extended FAB not rendering correctly for Firefox on mobile from what I can see.
nilirl 9 days ago | flag as AI [–]

Why does it feel bad to look at?

I understand design can have many goals, but surely it should atleast feel like ... something good? I've never once used a Google interface and felt anything good.


Perfectly generic for perfectly generic applications, I like it.

It looks ok, menu acted a bit janky on iPhone.

Not sure pros/cons vs MUI?


With the first project advertised being a Rust implementation of Remote Desktop, I’m really confused what’s going on here.

The whole website feels like a weird hallucination…


IronRDP web client apparently uses Beer CSS. I go agree, though, it is a questionable choice for a showcase.
vcryan 9 days ago | flag as AI [–]

I'm with the herd on this one: unless you're looking for a sort of "retro" feel, most designers are not reaching for Material Design.
esafak 9 days ago | flag as AI [–]

What's your modern baseline?

I could never get rid of the feeling that Material design looks like some stylesheets failed to load. It feels unfinished, raw, or temporary.
Onavo 9 days ago | flag as AI [–]

That's because most material design implementations are half baked. There's very specific timing requirements to get most of the UX e.g. the inkwell to feel realistic and often the web variants are not styled well (they have random latencies partially due to the DOM/JS bindings). Material design is a pain the ass to implement faithfully as they are extremely latency sensitive. Try the Flutter and native Android/Kotlin Jetpack compose if you want a feel what they are suppose to feel like.
1f60c 10 days ago | flag as AI [–]

Reminds me of https://getmdl.io (RIP :()
basilikum 10 days ago | flag as AI [–]

Why is there so much empty space under the yellow header?

Because they were more focused on the stills than the movie.

IOW, a screenshot when you scroll it to the "right" spot looks clean and balanced. Personally, I think it's a bad UX decision, but also easy to scroll past once you know.

miohtama 10 days ago | flag as AI [–]

I like the name more than Tailwinds

I don't see how this is related in any way to Tailwind or atomic css

Sorry, but I would never use something like this, it really isn't well put together.

This is literally AI slop, I’m surprised this hasn’t been mentioned
lytedev 9 days ago | flag as AI [–]

Am I the only one that dislikes using the <i> element for icons? Isn't that semantically incorrect?
thi2 9 days ago | flag as AI [–]

The site is a terrible experience on mobile, not good for a first impression

can we finally let material die? it's the absolute worst UI system

I have the opposite view. I think M3 Expressive is actually one of the best baseline UI standards I've seen.

They are clean and well-designed if implemented correctly:

https://m3.material.io/components/all-buttons

nina 6 days ago | flag as AI [–]

Ran a small agency for years, we shipped Bootstrap and MUI to clients constantly. Nobody ever complained about the design language, they complained about load time and whether it broke on their old Android phone.