O que é Block Element Modifier no no-code?

Block Element Modifier (BEM) é uma metodologia de nomenclatura de classes CSS que foi desenvolvida para facilitar a criação e manutenção de estilos em projetos web. Ela foi introduzida pela primeira vez pela equipe do Yandex, um dos maiores motores de busca da Rússia, e tem sido amplamente adotada pela comunidade de desenvolvedores nos últimos anos.

O que é BEM?

O BEM é uma abordagem que visa organizar o código CSS de uma forma mais estruturada e semântica. Ele divide os elementos da interface em três categorias principais: blocos, elementos e modificadores.

Os blocos são as principais unidades de construção da interface e representam componentes independentes e reutilizáveis. Eles são identificados por um nome único e não devem depender do contexto em que são utilizados.

Os elementos são partes individuais de um bloco e são identificados por um nome que está relacionado ao bloco ao qual pertencem. Eles não devem ser usados fora do contexto do bloco.

Os modificadores são classes adicionais que podem ser aplicadas a blocos ou elementos para alterar seu estilo ou comportamento. Eles são usados para criar variações de um bloco ou elemento sem precisar escrever código CSS adicional.

Por que usar BEM?

O uso do BEM traz uma série de benefícios para o desenvolvimento de projetos web. Primeiramente, ele ajuda a evitar conflitos de estilos, pois as classes são nomeadas de forma única e descritiva. Isso torna mais fácil identificar e corrigir problemas de estilo.

Além disso, o BEM promove a reutilização de código, uma vez que os blocos e elementos podem ser facilmente reaproveitados em diferentes partes do projeto. Isso economiza tempo e esforço no desenvolvimento e manutenção do código.

Outra vantagem do BEM é que ele torna o código CSS mais legível e compreensível. As classes são nomeadas de forma semântica, o que facilita a compreensão do código por outros desenvolvedores.

Como implementar o BEM?

Para implementar o BEM em um projeto, é necessário seguir algumas convenções de nomenclatura. Os blocos devem ter um nome único e descritivo, escrito em letras minúsculas e separado por hífens. Por exemplo, um bloco de menu pode ser nomeado como “menu”.

Os elementos devem ter um nome relacionado ao bloco ao qual pertencem, separado por dois underscores. Por exemplo, um elemento de item de menu pode ser nomeado como “menu__item”.

Os modificadores devem ter um nome relacionado ao bloco ou elemento ao qual estão sendo aplicados, separado por dois hífens. Por exemplo, um modificador para destacar um item de menu pode ser nomeado como “menu__item–destacado”.

É importante ressaltar que o BEM não é uma solução definitiva para todos os problemas de estilização em projetos web. Ele é uma ferramenta que pode ser utilizada para melhorar a organização e manutenção do código CSS, mas é necessário avaliar se ele se adequa às necessidades específicas de cada projeto.

Exemplo de uso do BEM

Para ilustrar como o BEM pode ser utilizado na prática, vamos considerar um exemplo de implementação de um componente de botão em um site.

O bloco principal seria o botão em si, que poderia ser nomeado como “botao”. Os elementos desse bloco poderiam ser o ícone do botão, nomeado como “botao__icone”, e o texto do botão, nomeado como “botao__texto”.

Para criar uma variação do botão, poderíamos utilizar um modificador chamado “botao–destacado”. Dessa forma, teríamos uma classe “botao botao–destacado” que aplicaria um estilo diferente ao botão.

Essa é apenas uma sugestão de implementação do BEM, e as classes podem variar dependendo das necessidades específicas de cada projeto.

Conclusão

O Block Element Modifier (BEM) é uma metodologia de nomenclatura de classes CSS que visa organizar o código de forma estruturada e semântica. Ela divide os elementos da interface em blocos, elementos e modificadores, facilitando a criação e manutenção de estilos em projetos web.

O uso do BEM traz benefícios como evitar conflitos de estilos, promover a reutilização de código e tornar o código CSS mais legível. Para implementar o BEM, é necessário seguir algumas convenções de nomenclatura, utilizando nomes únicos e descritivos para os blocos, elementos e modificadores.

Embora o BEM seja uma ferramenta útil, é importante avaliar se ele se adequa às necessidades específicas de cada projeto. Ele não é uma solução definitiva para todos os problemas de estilização, mas pode ser utilizado como uma forma de melhorar a organização e manutenção do código CSS.