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

Colocar título principal na frente da imagem.

Print da aula "HTML5 e CSS3 parte 1 - crie uma página web" - Parte 06, aula 02.No final do projeto, se eu quiser colocar o Título 1 em frente a imagem do banner, como ficaria o código?

<!DOCTYPE html>
<html lang="pt-br">
    <head>
        <meta charset="UTF-8">
        <title>Barbearia Alura</title>
        <link rel="stylesheet" href="style.css">
    </head>

    <body>
        <header>
            <h1 class="titulo-principal">Barbearia Alura</h1>
        </header>
        <img id="banner" src="banner.jpg">
        <div class="principal">
            <h2 class="titulo-centralizado">Sobre a Barbearia Alura</h2>

            <p>Localizada no coração da cidade a <strong>Barbearia Alura</strong> traz para o mercado o que há de melhor para o seu cabelo e barba. Fundada em 2019, a Barbearia Alura já é destaque na cidade e conquista novos clientes a cada dia.</p>

            <p id="missao"><em>Nossa missão é: <strong>"Proporcionar auto-estima e qualidade de vida aos clientes"</strong>.</em></p>

            <p>Oferecemos profissionais experientes e antenados às mudanças no mundo da moda. O atendimento possui padrão de excelência e agilidade, garantindo qualidade e satisfação dos nossos clientes.</p>
        </div>

        <div class="beneficios">
            <h3 class="titulo-centralizado">Benefícios</h3>

            <ul>
                <li class="itens">Atendimento aos Clientes</li>
                <li class="itens">Espaço diferenciado</li>
                <li class="itens">Localização</li>
                <li class="itens">Profissionais Qualificados</li>
            </ul>

            <img src="beneficios.jpg" class="imagembeneficios">
        </div>
    </body>
</html>
body {

}

#banner {
    width:100%;
}

.principal{
    background: #CCCCCC;
    padding: 30px;
}

.titulo-principal {
    padding-left: 20px;
}

.titulo-centralizado {
    text-align: center
}

p {
    text-align: center;
}

#missao {
    font-size: 20px
}

em strong {
    color: #FF0000;
}

.itens {
    font-style: italic
}

.beneficios {
    background: #FFFFFF;
    padding: 20px;
}

ul {
    display: inline-block;
    vertical-align: top;
    width: 20%;
    margin-right: 15%;
}

.imagembeneficios {
    width: 50%;
}
3 respostas
solução!

Para isso você precisaria colocar uma <div> entre a imagem do banner e o titulo <h1>. Como no exemplo abaixo.


<div class="container">
  <img class="banner" src="https://i0.wp.com/barbearia.4men.com.br/wp-content/uploads/2020/07/banner-barbearia.png" />
  <h1 class="titulo">Barbearia</h1>
</div>

.

Com essa estrutura, usando a propriedade position : absolute, no titulo. Faz com que o <h1> avance um nível acima do resto do fluxo normal da pagina, é como se flutuasse por cima dos outros elementos.

E também essa propriedade nos concede "alguns poderes", são as propriedades de movimentação, como left, right, top e bottom.

é preciso colocar um position : relative, no elemento pai, no caso a <div> que circunda o imagem e titulo.

Dessa forma o posicionamento do titulo deixa de ser absoluto a pagina, passa a ser absoluto em relação a dimensões da <div>

.


*{
  margin:0;
}

.container{
  position: relative;
}
.banner{
  width: 100vw;
}
.titulo{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);

  font-size: 4rem; 
  color: white;
  font-family: monospace;
}

Preview

.

link do teste no codepen

Oi, Tudo bem? Sou iniciante na programação.

Por que eu preciso colocar a tag div ?

<div> é uma tag de container, onde você agrupa elementos.

São as divisões página. No exemplo do meu código, está separando a apresentação do negócio e a área de benefícios.

Também tem a tag <header> que tem basicamente a mesma função do <div>. Porém, ela está destinada a separar a parte mais importante do negócio, que é a marca da empresa. Em inglês header significa cabeçalho.

É interessante usar as tags semânticas e o <div> para o código ficar mais organizado, tornando mais fácil a formatação individual , deixando o código claro tanto para programadores quanto para browsers e outras engines que processam essa informação.

Se você é iniciante em programação, recomendo fortemente que realize a formação de iniciante em programação, ela irá te dar um norte e, de quebra, uma parte muito importante, que é a lógica.

Nesse curso eles trabalham a lógica inicial de forma dinâmica, através da reconstrução de jogos antigos, sem precisar instalar nada. E você também terá noções de javascript, html e css.

Clique aqui para ir na página do 'Curso Iniciante em Programação'

Na hora das dúvidas, também é interessante você abrir um novo tópico com um título intuitivo para o problema. Como esse tópico é de uma questão resolvida, talvez demore para outros membros visualizarem sua dúvida.