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

Prof. Pedro Marins: Aplicando ensinamentos (preciso de dicas!)

Obs: O site está hospedado no meu perfil do Git Hub: site de treinamento.

Bom, não está ficando do jeito que eu queria, mas já é um começo: Aplicando os ensinamentos do professor Pedro Marins. Aceito dicas e correções dos erros. Obrigado!

HTML

<!DOCTYPE html>

<html lang="pt-br">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>League of Legends - BR</title>
    <link rel="stylesheet" href="../Projeto Alura/reset.css">
    <link rel="stylesheet" href="./CSS/estilo.css">
</head>

<body>
    <header>
        <div class="box-header">
            <h1>
                <a href="https://www.leagueoflegends.com/pt-br/" target="_blank"><img src="./IMG/banner-lol.png" alt="League of Legends - BR"></a>
            </h1>

            <nav>
                <ul>
                    <li><a href="#">Home</a></li>
                    <li><a href="#">História</a></li>
                    <li><a href="#">Contato</a></li>
                </ul>
            </nav>
        </div>
    </header>  

    <main>
        <ul class="categorias-herois">
            <li class="magos">
                <a href="#" title="Campeões que usam Magia"><img src="./IMG/mago.png" alt=""></a>
                <h2><a href="#">Mago</a></h2>
                <p></p>
            </li>

            <li>
                <a href="#" title="Campeões Assassinos, possuem dano letal"><img src="./IMG/assassino.png" alt=""></a>
                <h2><a href="#">Assassino</a></h2>
                <p></p>
            </li>

            <li>
                <a href="#" title="Campeões da Selva"><img src="./IMG/jg.png" alt=""></a>
                <h2><a href="#">Jungle</a></h2>
                <p></p>
            </li>

            <li>
                <a href="#" title="Lutadores Corpo a Corpo"><img src="./IMG/lutador.png" alt=""></a>
                <h2><a href="#">Lutador</a></h2>
                <p></p>
            </li>

            <li>
                <a href="#" title="Campeões que atiram a longa distância"><img src="./IMG/Atirador.png" alt=""></a>
                <h2><a href="#">Atirador</a></h2>
                <p></p>
            </li>

            <li>
                <a href="#" title="Campeões que Protegem o atirador na fase de rotas e os demais membros do time após a fase de rotas"><img src="./IMG/suporte.png" alt=""></a>
                <h2><a href="#">Suporte</a></h2>
                <p></p>
            </li>
        </ul>
    </main>

    <footer>
        <ul>
            <li><a href="#">Contato</a></li>
            <li><a href="#">Download</a></li>
        </ul>


        <p class="copy-footer">©LoL Project Alura - 2022.</p>

    </footer>
</body>

</html>

CSS

header {
    background-color: #483D8B;
    padding-bottom: 85px;
    border-bottom: 8px solid #8B008B;
}

li img:hover {
    background-color: #6959CD;
    border-radius: 100px;
}

li img:active {
    background-color: #00BFFF;
    border-radius: 100px;
}

h2 a:hover {
    color: #00BFFF;
}

h2 a:active {
    color: #00008B;
}

h1 {
    width: 64%;
    margin: 0 auto;
}

img {
    text-align: center;
}

.box-header {
    position: relative;
    width: 940px;
    margin: 0 auto;
}

nav {
    position: absolute;
    width: 100%;
    text-align: center;
    margin-top: 15px;
    display: block;
    border-bottom: 3px solid #ffffff;
}

nav li {
    display: inline;
    margin: 20px;
}

nav a {
    text-transform: uppercase;
    font-size: 25px;
    font-weight: bold;
    color: #ffffff;
    text-decoration: none;
    font-family: sans-serif;
}

nav a:hover {
    color: #00BFFF;
    border-bottom: 5px solid #00BFFF;
}

nav a:active {
    color: #00008B;
    border-bottom: 5px solid #00008B;
}
/* Aqui começa a formatação do miolo do site */

main {
    background-color: #D8BFD8;
}

main a {
    text-decoration: none;
}

h2 {
    font-size: 20px;
    font-weight: bold;
    color: #8B0000;
    text-align: center;
    padding-top: 15px;
    text-transform: uppercase;
    font-family: sans-serif;
}

.categorias-herois  {
    width: 940px;
    margin: 0 auto;
}

.categorias-herois li {
    display: inline-block;
    margin: 30px;
}

footer {
    background-color: #1C1C1C;
    text-align: center;
    height: 100px;
    text-decoration: none;
    font-family: sans-serif;
}

footer li {
    color: #FFFFFF;
    display: inline-block; 
    font-size: 18px;
    text-transform: uppercase;
    margin: 30px 15px;
}

footer a {
    color: #87CEFA;
    text-decoration: none;
    font-family: sans-serif;
}

.copy-footer {
    color: #FFFFFF;
    font-family: sans-serif;
}
10 respostas

Oi Rafael, tudo bem? Eu tentei abrir teu link do git e não abriu, tenta colocar as imagens aqui. Se você ficar chateado, eu tenho algumas observações, obviamente, não sou uma especialista, mas talvez podemos trocar figurinhas (achei apropriado usar essa piadinha, já que é sobre lol o site). Mas vamos lá:

Essa tag <meta http-equiv="X-UA-Compatible" content="IE=edge"> ela não é mais utilizada. Ela tinha como objetivo auxiliar alguns navegadores a se adequarem a linguagem, mas desde a ultima atualização do HTML, ela não é mais necessária. Não vai fazer mal por agora, mas código sem objetivo é só para fazer nossa vida um inferno depois.

 <div class="box-header">
            <h1>
                <a href="https://www.leagueoflegends.com/pt-br/" target="_blank"><img src="./IMG/banner-lol.png" alt="League of Legends - BR"></a>
            </h1>

            <nav>

Aqui, pq você colocou uma div? Não acha mais correto ser uma < section>? Div é tão pobre a sintaxe dela para o html. Em quesito de indexação do teu site. Só coloca div no último caso. Outra coisa, não entendi um link e uma imagem dentro de uma < h1 >. Se tiver como me explicar, eu agradeço, pode ser algo que não sei (o que acho ser muito provável)

Fico no aguardo....

Obrigado pelas observações Germanna.

Eu fiz a correção do link pra que funcione.

Eu removi o <meta http-equiv="X-UA-Compatible" content="IE=edge"> e deixei como comentário no código pra não esquecer. Depois fiz o teste no internet explorer e o site funcionou normalmente.

Porém, como sabemos, o VSCode permite criar a estrutura bruta do HTML apertando "!". E me disseram que isso automaticamente cria a estrutura já na versão mais recente do HTML (5) - <!DOCTYPE HTML>.

Então sei lá rs, pra mim fazia parte o http-equiv.

Sobre usar DIV no lugar de Section: realmente, <div> não tem valor semântico. Mas a dúvida que ficou é: a tag pai da <div> que é o <header> não estaria cumprindo esse papel semântico?

Tipo, as tags filhas herdam as propriedades da tag pai, correto? Nesse caso, se uma <div> está dentro de um <header> ou <footer>, as tags filhas não se tornam semânticas também? Não sie como funciona ao certo os algoritmos dos mecanismos de busca, mas pelo pouco que sei, eles mapeiam as tags de fora pra dentro.

De qualquer forma, fiz a alteração aqui nos arquivos do site, embora no GitHub essa alteração não irá aparecer pois não atualizei lá.

Ficou assim:

<header>
        <section>
            <h1>
                <a href="https://www.leagueoflegends.com/pt-br/" target="_blank"><img src="./IMG/banner-lol.png" alt="League of Legends - BR"></a>
            </h1>

            <nav>
                <ul>
                    <li><a href="#">Home</a></li>
                    <li><a href="#">História</a></li>
                    <li><a href="#">Contato</a></li>
                </ul>
            </nav>
        </section>
    </header>  

E sobre o <http-equiv> ficou assim:

<!DOCTYPE html>

<html lang="pt-br">

<head>
    <meta charset="UTF-8">

    <!-- <meta http-equiv="X-UA-Compatible" content="IE=edge"> * Este código não é mais necessário devido a uma atualização do HTML5. Dica da Germanna ;]-->

    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>League of Legends - BR</title>
    <link rel="stylesheet" href="./CSS/reset.css">
    <link rel="stylesheet" href="./CSS/estilo.css">
</head>

Sobre a imagem dentro de <h1>, se você observar o site renderizado no github, ele não tem um título principal em forma de texto. Então eu pensei em usar a tag <h1> pra envolver a imagem que representa esse título principal. A ideia é dar a imagem um valor semântico de Título Principal da página. Será que esse raciocínio procede?

Fico no aguardo.

Olá Rafael, é possível utilizar a tag <img> dentro de uma tag <h1> para conferir valor semântico de título à uma imagem. Espero ter ajudado, bons estudos!

Olá Ially.

Eu gostaria de entender, inclusive, se uma div dentro de uma tag semântica herda as propriedades semânticas.

Obrigado.

Oi Rafael, em relação à tag div, as documentações oficiais desencorajam sua utilização no caso de haver outras tags que melhor se adequem a semântica do contexto de construção do seu HTML. No caso em questão, se fosse utilizada uma div contendo uma imagem dentro da tag h1 estaria inadequado, pois a tag div é um contêiner genérico e a tag img já é específica para receber imagens. Espero ter ajudado. Bons estudos!

Com certeza ajudou sim. Obrigado.

Fala Rafa, já posso te chamar assim? Foi mal a demora. Sobre o < meta >, tem muito tempo que li uma documentação sobre, não consegui achar qual foi, mas dei uma pesquisada rápida na net (posso chamar assim, ou vou parecer muito velha?) E como resposta veio até isso:

Comentário explicando o motivo desse meta não ser necessárioConcordo sobre a questão no VSCODE, não faço ideia do motivo de não terem tirado. Foi dessa forma, inclusive que descobri sobre esse meta, ele apareceu lindo e contente no meu código e eu não sabia o que era. Ai, dei uma olhada na documentação e descobri a verdade. Que eu estava sendo iludibriada (dramática? Quem? Eu?) A boa prática informa que não é bom ter um código sem função. Logo, eu queria te ajudar.

Sobre a questão div versus section. Imagina assim, quando o HTML tava como terra sem lei, todo mundo usava div para tudo. Vai separar texto, bota uma div. Vai construir uma casa, bota uma div. Então, ele passou a ser um elemento muito "pobre", principalmente para a acessibilidade do site. Se um leitor de tela para um cego olha essa div, ele lê como se fosse um item qualquer. Mas, no segundo que teve a mudança para o HTML5, a regra principal criada é a de tentar minimizar o máximo o uso de div. Pois eles criaram tag para tudo. (Se duvidar, até para construir a casa). Então, como os navegadores estão dando muita relevância a questão de acessibilidade, acaba que eles elegem melhor seu site quando mais organizado.

https://developer.mozilla.org/pt-BR/docs/Web/HTML/Element

Tem esse site, com documentação do HTML, que possui, se não me engano todas as tags, divididas e explicadas pelo objetivo delas. Pode te ajudar muito. Mas se de fato você não souber na hora, usa a div. Mas tenta ir praticando, assim, você nem nota mais que a div existe

solução!

Sobre a questão da herança, você está correto, se dentro de um grupo, não foi definido uma regra dessa tag, as regras, principalmente de ESTILIZAÇÃO, são preponderantes as regras da tag de fora. Não me entenda, está muito bom seu trabalho, você fez as divisões da forma correta. Mas tem coisa que até eu tenho dúvida e vamos nos ajudando meio do caminho.

Espero ter ajudado.

Opa, ajudaram sim. agradeço a todos que ajudaram. É assim mesmo, ninguém sabe tudo. Ainda mais nesse mudo tecnológico onde as coisas evoluem a todo momento.

No momento estou focado no javascript. Tô começando do zero mesmo.

Quando eu tinha 16 anos comecei a fuçar essas coisas de html, mexia um pouco com dreamweaver, e usava o bloco de notas como editor.

O tempo passou, e hoje com 31 anos tô levando a sério os estudos pra, quem sabe logo, alcançar o nível full stack.

Emprego não tá fácil hj em dia. Então quem não se qualificar vai ficar pra trás.

Bons estudos a todos.