1
resposta

Sobre o padrão BEM

Boa tarde De acordo com o padrão BEM é correto inserir várias classes dentro de um mesmo elemento CSS? Seguem os códigos para explicar minha dúvida.

/*Arquivo info-user.css*/
.info-user{
    text-align: center;
}

.info-user__avatar{
    margin-top: 20px;
}

.info-user__name{
    margin: 0;
    color: #747c81;
    margin-top: 20px;
}

.info-user__label{
    margin-top: 15px;
}

/*Arquivo avatar.css*/
.avatar--circular{
    border-radius: 50%;
}

.avatar--bordaVerde{
    border: 9px solid #b0ffb7;
}

/*Arquivo index.html*/
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" href="../exercicioExtra-padraoBEM/assets/css/info-user.css">
    <link rel="stylesheet" href="../exercicioExtra-padraoBEM/assets/css/avatar.css">
    <title>Perfil de moderador</title>
</head>
<body>
    <div class="info-user">
        //img contém duas classes
    <img class="info-user__avatar avatar--circular avatar--bordaVerde" src="../exercicioExtra-padraoBEM/assets/img/photo-avatar.png" alt="photo avatar neo">
        <h2 class="info-user__name">Thomas Enderson - conhecido como Neo</h2>
        <img class="info-user__label" src="../exercicioExtra-padraoBEM/assets/img/label-moderador.png" alt="label moderador">
    </div> 
</body>
</html>

Dese já agradeço

1 resposta

Fala ai Frederico, tudo bem? Sim, não tem problema em inserir mais de uma classe para um elemento.

O unico ponto é que as classes devem manter o padrão, no caso o avatar--circular e avatar--bordaVerde deveria ser info-user__avatar--circular e info-user__avatar--bordaVerde.

Com CSS puro o BEM fica um pouco mais verboso, realmente vamos ter que escrever e repetir mais coisas.

Mas, o BEM com SASS por exemplo, daria para fazer herança de estilos dentro do SASS, ai poderíamos omitir algumas classes.

Espero ter ajudado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software