Olá, Ruan!
Entendi suas dúvidas, e vou tentar esclarecê-las da melhor forma possível.
Primeiramente, quando a instrutora menciona que está "reaproveitando os outros elementos", ela está se referindo ao conceito de reutilização de classes CSS. Ou seja, ela criou uma classe com um conjunto de estilos e está aplicando essa classe em diferentes elementos HTML, fazendo com que todos esses elementos compartilhem os mesmos estilos.
No caso da classe container__secundario
, a instrutora criou uma nova classe para a nova seção, mas ela pode ter reutilizado estilos de outras classes, como você mencionou o exemplo da container__caixa
.
Em relação à sua segunda dúvida, quando você cria uma section
com a classe container__secundario
e uma div
com a classe container__divisao
, e você tem no seu CSS as classes .container
e .secundario
, essas classes NÃO vão estilizar os seus elementos HTML, sim. Isso porque o CSS entende que qualquer elemento que possua no nome da classe as palavras container
e secundario
deve receber os estilos definidos para essas classes.
Por exemplo, se você tem no seu CSS:
.container {
background-color: blue;
}
.secundario {
color: white;
}
E no seu HTML:
<section class="container__secundario">
<div class="container__divisao">
<p>Olá, mundo!</p>
</div>
</section>
A tag section
NÃO vai receber o estilo da classe .container
(ou seja, vai ter o fundo azul), e a tag div
também NÃO vai receber o estilo da classe .container
(ou seja, vai ter o fundo azul). Além disso, a tag section
também NÃO vai receber o estilo da classe .secundario
(ou seja, o texto dentro dela vai ser branco). Para isso acontecer, você precisa passar essas classes para os elementos da seguinte forma:
<section class="container container__secundario">
<div class="container container__divisao">
<p>Olá, mundo!</p>
</div>
</section>
Isso ocorre porque .container
e .container__secundario
são classes DIFERENTES para o CSS. Deu pra entender?
Espero ter ajudado e bons estudos!