Software Alternatives, Accelerators & Startups

BEM

BEM โ€” Block Element Modifier is a methodology, that helps you to achieve reusable components and code sharing in the front-end.

BEM

BEM Reviews and Details

This page is designed to help you find out whether BEM is good and if it is the right choice for you.

Screenshots and images

  • BEM Landing page
    Landing page //
    2022-11-21

Features & Specs

  1. Consistency

    BEM enforces a structured way of naming and organizing CSS classes, which promotes consistency across the codebase.

  2. Scalability

    The methodology is designed to handle large and complex projects by keeping styles modular and reusable, which helps in maintaining scalability.

  3. 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.

  4. Flexibility

    BEM allows for flexible and modular component development, making modifications easier without affecting unrelated parts of the codebase.

Badges

Promote BEM. You can add any of these badges on your website.

SaaSHub badge
Show embed code

Videos

BEM REVIEW! is Bem worth watching?

BEM - First Impressions

Bem Episode 1 Discussion/ Review BEM HAS THE MUSIC!!!!!

Social recommendations and mentions

We have tracked the following product recommendations or mentions on various public social media platforms and blogs. They can help you see what people think about BEM and what they use it for.
  • Why CSS Is So Hard for Generative AIs to Understand?
    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
  • hearing Michael Scott.
    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
  • The CSS Odyssey: Why I Turned back to CSS After Trying Everything Else
    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
  • :where() :is() my mind?
    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
  • SASS, CSS, or Tailwind: Which One Should You Choose?
    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
  • Darling, I converted our perfectly fine SPA application into SSR: Part 2
    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
  • Earth rescue - A CSS only game
    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
  • Upgrading and Refactoring a Slightly Outdated Web Project
    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
  • 21 Resources to Learn And Practice Your CSS Skills
    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
  • StyleX โ€“ Meta's Styling Library
    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
  • Incomplete List of Mistakes in the Design of CSS
    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
  • An Overview of 25+ UI Component Libraries in 2023
    Recognizing this, the community pivoted, introducing methodologies like BEM to inject some uniqueness and modular style. - Source: dev.to / almost 3 years ago
  • Advice on getting better at CSS
    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
  • How to write type-safe CSS Modules
    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
  • Is this layout possible? Backend guy trying to do frontend.
    Thanks for the reply! Is this what you are referring to? Will check it out. Source: over 3 years ago
  • is it worth it to learn a niche for an entry level dev?
    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
  • Front-end dev has come full circle
    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 CSS: A critique
    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
  • Advanced CSS?
    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
  • Past Informs the Present: Beginโ€™s Approach to CSS
    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
  • Automated Frontend Workflow
    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.

Suggest an article

BEM discussion

Log in or Post with

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.