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

A modificação do código não deveria ser no nav a?

Eu fiz a minha alteração assim:

nav a{
    text-decoration: none;
}

Porém na resposta a alteração tem que ser feita no aside, fiquei sem entender, porque a alteração foi feita no aside e não no nav?

4 respostas

Acho que só pq ele quer mexer em qual a dentro de um aside.

solução!

Na minha opinião, a forma como você fez está correta: nav a{ text-decoration: none; }

Seria uma outra opção.

Só tem que tomar cuidado para caso tenha mais de um menu de navegação no seu site.

Digamos que no "footer" de sua página tenha um outro menu. Daí se colocar apenas "nav a" teria um conflito.

A solução neste caso seria especificar, por exemplo "footer a", para entender que se trata do "nav a" dentro do "footer", compreendeu?

Na minha opinião o "nav a" é um pouco mais genérico, mas neste caso, desta página que estamos criando, sinceramente não vejo problema. Mas vamos ver o que os mais experientes dizem a respeito.

Abraços e boas aulas!

Alexandre, o que o professor queria era que o elemento inteiro herdasse a mesma condição.

Explicando: O HTML trabalha com o sistema de pai, filho, irmão, netos, etc.

Isso quer dizer que os pais passam características pros filhos.

ou seja, se a estrutura estiver

<aside>
    <nav>
        <li>
            <a href="#"></a> // o parametro é herdado até aqui
        </li>
    </nav>
</aside>

Tudo que for passado pro aside é herdado até a tag a.

Quando você especifica

<nav>
    <a href="#"></a>
</nav>

E diz no seu CSS

nav a {
text-decoration: none;
}

Você está dizendo que apenas as tags <a> que estiverem dentro de <nav>, vão ter text-decoration:none

Quando você diz aside a {text-decoration: none} você diz pro seu html que todas as tags de link <a>, que estiverem dentro da tag aside vão receber o atributo text-decoration. Isso garante que qualquer link que seja filho, neto, irmão, bisneto, etc, vai receber a text decoration independentemente de estar dentro de nav, li ou qualquer coisa

<aside>
    <nav> // ele e qualquer tag <a> dentro dele  recebe paramentro
        <li> //  ele e qualquer tag <a> dentro dele  recebe paramentro
            <a href="#"></a> // o parametro é herdado até aqui
        </li>
    </nav>
</aside>

E se tiverem mais tags dentro de outras tags, eles também recebem o parâmetro por que o pai aside é quem distribuiu pra eles.

Pensa nisso como genética: Se o seu pai tem cabelo preto, então todos os filhos vão ter cabelo preto

:)

Ufa, espero ter ajudado

Sabendo disso, use o inspetor para tirar o sublinhado de todos os links do menu de navegação da página bio.html. https://cursos.alura.com.br/course/introducao-html-css/task/5385

O enunciado diz claramente para tirar o sublinhado dos links do menu de navegação. Não diz como isto deve ser realizado, nem diz que deveria ser utilizada a herança. Neste caso a resposta que utiliza o seletor nav a deve ser considerada correta.

Pelo meu ponto de vista a resposta dada pelo autor (aside a) talvez não seja ideal considerando o proposto no enunciado, pois o mesmo solicita que os links do menu de navegação tenham seus estilos alterados; mas e se houvesse algum outro link fora da lista e fora do menu de navegação, mas dentro do aside? Bem, estes também seriam alterados.