BEM Naming Conventions: A Structured Approach for Webflow Class Organization

Published on
November 22, 2020

The Importance of BEM Naming Conventions in Webflow

If you are a Webflow user, creating a well-organized and efficiently named classes is crucial for maintaining a structured and manageable project. In this tutorial, we will delve into the BEM (Block Element Modifier) naming conventions and how to effectively implement them in your Webflow projects.

Understanding BEM Naming Conventions

The BEM naming convention is used to keep your classes organized and easily identifiable. BEM stands for Block, Element, and Modifier, and it helps you create a clear hierarchy and relationship between your elements and their respective blocks within your website.

Let's take a look at how we can implement BEM naming conventions in Webflow to effectively organize our classes.

Block, Element, and Modifier

In the BEM naming convention, the block represents a larger component or an independent entity on the page. An element is a part of the block that performs a particular function, and a modifier is used to modify the appearance or behavior of either the block or its elements.

In Webflow, we apply these concepts by naming our classes in a structured manner. For example, if we have a navigation bar, the block would be "nav," and any elements within it would be named using double underscores: "nav__element." This clear naming structure ensures that classes are easily distinguishable and organized.

Importance of Consistent Naming

Consistency in naming is essential when using BEM conventions. By ensuring that every block, element, and modifier is named consistently, you maintain clarity and coherence throughout your project. This makes it easier to manage and update your website as it grows.

Implementing BEM Naming in Webflow

Let's walk through an example of how we can apply BEM naming conventions to a Webflow project to achieve a well-organized class structure.

Naming the Navigation Bar

Suppose we have a navigation bar with various elements such as a logo and images. We start by naming the navigation bar (block) as "nav." Any elements within the navigation bar would then be named using the following structure:

  • Logo within the navigation bar: nav__logo
  • Image within the navigation bar: nav__img-logo

This structured approach ensures that each class is organized within the context of its parent block.

Managing Complex Components

As we work with more complex components, such as an album section with multiple elements, we can introduce a new block for the album and name its elements accordingly:

  • Album block: album
  • Image within the album: album__img
  • Title within the album: album__title
  • Paragraph within the album: album__paragraph

By introducing separate blocks for complex components, we maintain clarity and avoid lengthy class names.

Using Combo Classes

In Webflow, combo classes allow us to apply multiple classes to an element. When naming combo classes, we follow a specific structure to distinguish them from regular classes. For example:

  • Naming a combo class for a color: is--blue
  • Naming a combo class for a different color: is--yellow

Using consistent naming for combo classes ensures that they are easily distinguishable and can be efficiently applied throughout the project.

Global and Local Classes

It is important to understand the distinction between global and local classes. Global classes can be applied to any element, while local classes are specific to a single element.

For global classes, create an empty div and name it using the combo class convention (e.g., is--blue). This allows you to reuse the global class throughout your project.

Local classes are applied directly to an element and are specific to that element only. This distinction is important for managing and reusing classes effectively in Webflow.

Conclusion

By following the BEM naming convention and utilizing combo classes effectively in Webflow, you can create a well-organized and easily manageable project. Consistent naming and clear hierarchy ensure that your classes are easily understood and effortlessly applied throughout your website.

Implementing BEM naming conventions in Webflow is key to maintaining a structured and scalable website. By following these best practices, you can streamline your workflow and ensure your projects remain organized as they evolve.

We hope this tutorial has provided valuable insights into the importance of BEM naming conventions and their practical implementation in Webflow. As you continue to develop your Webflow skills, mastering class organization and naming is essential for creating efficient and maintainable projects.