Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Nesting (Agrupamento) e Parent Selector (&)

Fiquei com uma duvida sobre a aula Nesting (Agrupamento) e Parent Selector (&) do curso Sass: O CSS com superpoderes

//Não entendi como esse trecho:

.header { font-family: Arial, Helvetica, sans-serif; }

.header__logo { text-align: center;}

.header__logo .header__img { max-width: 350px;}

//ficou assim:

.header { font-family: Arial, Helvetica, sans-serif;

&__logo {
    text-align: center;
}

&__img {
    max-width: 350px;
}

}

2 respostas
solução!

Quando você usa o Nesting o Sass faz como uma herança onde o Header é o pai e os outros são os filhos que apesar de características próprias herdam características do pai. Seria como se vc tivesse feito um CSS assim

//pai
.header { font-family: Arial, Helvetica, sans-serif; }

//pai         filho
.header  .header__logo { text-align: center;}

//pai        filho           neto
.header .header__logo .header__img { max-width: 350px;}

//no seu exemplo esse ultimo fica assim
//pai               filho
 .header__logo .header__img { max-width: 350px;}

A vantagem de você usar isso é que se você usar o .header__logo em outro lugar ele não tem interferência do .header Mas faz você digitar mais gera uma repetição desnecessário, pois usando o Sass, ele vai entender que tudo dentro do .header vai ser filho e herdar as configurações inclusive o nome inicial bastando usar o &

//pai
.header { font-family: Arial, Helvetica, sans-serif;
    //filho
    &__logo {
            text-align: center;
    }
    //filho
    &__img {
            max-width: 350px;
    }
}

Essa ordem vai depender do que você quer que um elemento herde do outro. Importante o & aqui serve para que substituir .header dos elementos filhos pois é o nome do pai também, mas você pode usar o & de outras formas como no 1ª exemplo desse artigo https://desenvolvimentoparaweb.com/css/sass-dicas-parte-1/

Perfeito. Obrigado