Consistency
BEM enforces a structured way of naming and organizing CSS classes, which promotes consistency across the codebase.
Scalability
The methodology is designed to handle large and complex projects by keeping styles modular and reusable, which helps in maintaining scalability.
Maintainability
By using a clear naming convention, BEM makes it easier for developers to understand and maintain code, even if they weren't the original authors.
Flexibility
BEM allows for flexible and modular component development, making modifications easier without affecting unrelated parts of the codebase.
We have collected here some useful links to help you find out if BEM is good.
Check the traffic stats of BEM on SimilarWeb. The key metrics to look for are: monthly visits, average visit duration, pages per visit, and traffic by country. Moreoever, check the traffic sources. For example "Direct" traffic is a good sign.
Check the "Domain Rating" of BEM on Ahrefs. The domain rating is a measure of the strength of a website's backlink profile on a scale from 0 to 100. It shows the strength of BEM's backlink profile compared to the other websites. In most cases a domain rating of 60+ is considered good and 70+ is considered very good.
Check the "Domain Authority" of BEM on MOZ. A website's domain authority (DA) is a search engine ranking score that predicts how well a website will rank on search engine result pages (SERPs). It is based on a 100-point logarithmic scale, with higher scores corresponding to a greater likelihood of ranking. This is another useful metric to check if a website is good.
The latest comments about BEM on Reddit. This can help you find out how popualr the product is and what people think about it.
Beyond the countless ways to achieve the same result, there are just as many methodologies for writing CSS itself. Have you ever came across BEM, SMACSS, OOCSS, atomic CSS, etc. If not, then you can add yours to the list. - Source: dev.to / 9 months ago
SCSS makes it easier to use mixing and variables. I'm exploring it's applications for Codepen as well as the use of BEM to modularize reusable CSS components. - Source: dev.to / about 1 year ago
Style conflicts is one. Although CSS class definitions are placed in reverse import order, problems still occur in Next.js when some pieces only appear in page but not layout CSS bundles. Following BEM (Block Element Modifier) and "Composition over Extension" patterns to separate concerns helps avoid styling collisions significantly. - Source: dev.to / about 1 year ago
BEM encourages a flat structure with minimal nesting and specificity, making styles easier to read and maintain. It significantly reduces the risk of unintended style overrides and enhances modularity. - Source: dev.to / about 2 years ago
Keep in mind you also have to use BEM. If you use just SASS, there are little to no advantages compared with CSS. I am going to cover BEM in a separate article, but for your understanding, BEM is a methodology for writing good CSS. - Source: dev.to / about 2 years ago
Most of our headaches stemmed from styled-components. Despite the merits of this CSS-in-JS library, it doesnโt mesh as seamlessly with server components. Traditional CSS methodologies, such as BEM (Block, Element, Modifier), CSS modules, or even utility-first frameworks like Tailwind, would have alleviated many of our difficulties. This lesson is a key takeaway that we plan to carry forward into our future projects. - Source: dev.to / about 2 years ago
After I had created space, the code was as spaghetti as it can get. I decided to switch to SCSS and finally read into the BEM Pattern for CSS and after wasting another 4 hours, I decided that I could not decide wether the HUD is an element of the game and the button is an element of the HUD and the text is an element of the button and someone else also thought about this and called it the BEM grandchildren... - Source: dev.to / over 2 years ago
There are some conceptual requirements to clean code that I always found hard to achieve in a traditional web project, but that's one more reason to use tools like static site generators and follow design patterns like Atomic Design, (A)BEM CSS, and a modular file structure. - Source: dev.to / over 3 years ago
BEM is a methodology for organizing and naming CSS classes in a scalable and maintainable way. Learning the principles of BEM can improve the structure of your stylesheets drastically. - Source: dev.to / over 2 years ago
It always surprises me the lengths people are willing to go to avoid writing CSS. If organization is the issue, there's BEM (https://getbem.com/). This just looks like another layer of complexity on top of an already convoluted front-end stack that just slows everything it touches to a crawl and only works moderately well on the developers beefed up latest MacBook Pro's, and sucks horribly on any regular person's... - Source: Hacker News / over 2 years ago
I am a reluctant convert to tailwind. I've been doing HTML since the 90s, before CSS was even really usable for things like page layout. I mean, we didn't even use div in those days - it was table based layouts and spacer gifs. CSS appeals to a programmers mindset. Cascading seems like a good idea. Having classes that are reusable seems like a good idea. Complex selectors seem like a good idea. These are all forms... - Source: Hacker News / over 2 years ago
Recognizing this, the community pivoted, introducing methodologies like BEM to inject some uniqueness and modular style. - Source: dev.to / almost 3 years ago
Then to layer ontop of that some kind of CSS methodology, say BEM for example but there are many others. As long as it's consistent throughout the whole project. Just a way of naming things and stopping styles leaking out and affecting things they shouldn't. Source: about 3 years ago
At the time of writing, CSS class names are no longer global, solving many of the pains that methodologies like BEM were designed to solve, but without the manual effort. However, following BEM within CSS Modules can still be beneficial depending on the use case. - Source: dev.to / over 3 years ago
Thanks for the reply! Is this what you are referring to? Will check it out. Source: over 3 years ago
I'd use SASS & BEM to help keep my css organised, ensure you use css variables for your breakpoints, spacing, typography and colours in separate files. Source: over 3 years ago
I myselfโin a time when I mostly stuck to BEM, reaching its limitsโused to despise Tailwindโs approach but after reading Tailwind creator Adam Wathanโs in-depth article about the general issues I teeth-gnashingly had to agree with the practical implications. But yes, polluting the markup with visual directives still feels wrong to me and I guess it will never feel right for someone who lived during the Webโs... Source: over 3 years ago
Tailwind isn't as friendly to reusable components compared to something like BEM. Applying styles to a component becomes tedious, and even Tailwind acknowledges this. - Source: dev.to / over 3 years ago
I'd reccomend taking a look at SASS, something like BEM for naming conventions, and a deep dive into how the cascade actually works is sooo beneficial for troubleshooting more complex CSS issues. Source: over 3 years ago
As style sheets became the responsibility of larger and larger teams, CSSโ global scope and specificity were often at odds with team dynamics. Style collisions became increasingly common, where changes introduced by one developer would inadvertently affect styles elsewhere on the website. As the old joke goes: two CSS properties walk into a bar; a bar stool in a completely different bar falls over. As these issues... - Source: dev.to / over 3 years ago
Create a .stylelintrc file extending these configs. It is included an optional rule to check if the CSS selector follows the BEM Name Convention. - Source: dev.to / over 3 years ago
Do you know an article comparing BEM to other products?
Suggest a link to a post with product alternatives.
Is BEM good? This is an informative page that will help you find out. Moreover, you can review and discuss BEM here. The primary details have not been verified within the last quarter, and they might be outdated. If you think we are missing something, please use the means on this page to comment or suggest changes. All reviews and comments are highly encouranged and appreciated as they help everyone in the community to make an informed choice. Please always be kind and objective when evaluating a product and sharing your opinion.