1
resposta

Organização site HTML / CSS

Pessoal, boa noite!

Estou tentando desenvolver um site no seguinte modelo:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Porém estou tendo um pouco de dificuldade com a organização do conteúdo. A primeira parte h1: EMPRESA / p= texto / img=imagem eu consegui realizar corretamente, mas quando prossigo com o código ele está ficando na mesma linha, não está indo para baixo conforme precisa. Estou em dúvida, acredito que estou organizando de forma errada, não sei se utilizo uma nova section para organizar o conteúdo ou uma div. Está ficando igual a imagem abaixo: Insira aqui a descrição dessa imagem para ajudar na acessibilidadeVou deixar o código aqui abaixo:

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>TESTANDO</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <header class="cabecalho">
        <img class="logo__cabecalho" src="foto.png" alt="TESTANDO">
        <nav class="cabecalho__menu">
            <a class="cabecalho__menu__link">HOME</a>
            <a class="cabecalho__menu__link">EMPRESA</a>
            <a class="cabecalho__menu__link">SERVIÇOS</a>
            <a class="cabecalho__menu__link">CONTATO</a>
        </nav>
    </header>
    <main class="conteudo">
        <section class="empresa">
            <h1 class="empresa__titulo">EMPRESA</h1>
            <p class="empresa__texto">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam laoreet et mauris id placerat. In viverra dapibus sem, at semper tortor accumsan at. Curabitur ornare leo massa, eget interdum tortor cursus eu. Nunc ultrices diam vel finibus tincidunt. Donec ut tempus est. Etiam at enim at orci venenatis tincidunt ac non eros.</p>
        </section>
        <img class="pessoas__conversando" src="pessoas conversando.png" alt="Imagem de 04 pessoas conversando">
        
        <section class="equipe">
            <div class="equipe__nome1">
                <h1 class="equipe__titulo">NOSSA EQUIPE</h1>
                <h2 class="nome__1">nome 1</h2>
                <p class="funcao__nome1">Consultor</p>
                <img class="foto__nome1"  src="foto.png" alt="Foto nome 1">
                <ul>
                    <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
                    <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
                    <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
                </ul>
            </div>
        </section>
        
    </main>
    <footer></footer>
</body>
</html>

CSS

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap');

*{
    margin:0;
    padding:0;
}

body{
    height: 100vh;
    width: 100%;
    box-sizing: border-box;
    background-color: #F5F5F5;
    color: #000000;
    font-family: 'Montserrat', sans-serif;
}

.cabecalho{
    padding: 1% 0% 1% 5%;
    background-color: #0E2841;
    color: #FFFFFF;
    display: flex;
    align-items: center;
    gap: 100px;
}

.logo__cabecalho{
    width: 8%;
}

.cabecalho__menu{
    display: flex;
    gap: 77px;
    text-align: center;
}

.cabecalho__menu__link{
    font-size: 18px;
    font-family: "Montserrat", sans-serif;
    font-weight: 500;

}

.cabecalho__menu__link:hover{
    font-family: "Montserrat", sans-serif;
    font-weight: 600;
}

.conteudo{
    padding: 3% 3% 2% 5%;
    display: flex;
    justify-content: space-between;
    gap: 65px;
}

.empresa{
    display: flex;
    flex-direction: column;
    gap: 40px;
    
    
}

.empresa__titulo{
    font-size: 30px;
    font-weight: bold;
    color: #0E2841;
}

.destaque__texto__empresa{
    font-weight: bold;
    color: #0E2841;
}

.pessoas__conversando{
    width: 27%;
    padding: 0% 0% 2% 0%;
    border:#000000;
    border-radius: 23px;
    
}

.equipe{
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    
}

.equipe__nome1{
    align-items: center;
    justify-content: space-between;
}

.foto.png{
    width: 1%;
}

OBS: os links do cabeçalho ainda não coloquei porque ainda não criei as outras páginas.

Se alguém conseguir me ajudar ficarei muito grato, estou adorando esse mundo Front-End, tudo que aparece para praticar estou fazendo. Desde já agradeço a ajuda e atenção de todos, obrigado!!!

1 resposta

Oii, Pedro. Tudo bem?

Fiz alguns ajustes no seu código para que as imagens ficassem de acordo com o que você pediu. Você pode mudar os valores para o que você achar melhor, esse é só um exemplo pra você ter uma ideia de como fazer. Vou mandar abaixo:


    <section class="equipe">
      <h1 class="equipe__titulo">NOSSA EQUIPE</h1>
      <div class="equipe__nome1">
        <div>
          <h2 class="nome__1">Nome 1</h2>
          <p class="funcao__nome1">Consultor</p>
          <ul>
            <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
            <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
            <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
          </ul>
        </div>
        <img class="foto__nome1" src="https://img.freepik.com/fotos-gratis/bom-conselho-de-mulher-bonita_329181-3527.jpg?size=626&ext=jpg&ga=GA1.1.2008272138.1721520000&semt=ais_user" alt="Foto Nome 1">
      </div>

      <div class="equipe__nome2">
        <div>
          <h2 class="nome__2">Nome 2</h2>
          <p class="funcao__nome2">Consultora</p>
          <ul>
            <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
            <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
            <li>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</li>
          </ul>
        </div>
        <img class="foto__nome2" src="https://img.freepik.com/fotos-gratis/bom-conselho-de-mulher-bonita_329181-3527.jpg?size=626&ext=jpg&ga=GA1.1.2008272138.1721520000&semt=ais_user" alt="Foto Nome 2">
      </div>
    </section>
  </main>
  <footer></footer>
</body>
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  height: 100vh;
  width: 100%;
  background-color: #f5f5f5;
  color: #000000;
  font-family: "Montserrat", sans-serif;
}

.cabecalho {
  padding: 1% 0% 1% 5%;
  background-color: #0e2841;
  color: #ffffff;
  display: flex;
  align-items: center;
  gap: 100px;
}

.logo__cabecalho {
  width: 8%;
}

.cabecalho__menu {
  display: flex;
  gap: 77px;
  text-align: center;
}

.cabecalho__menu__link {
  font-size: 18px;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
}

.cabecalho__menu__link:hover {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
}

.conteudo {
  padding: 3% 3% 2% 5%;
  display: flex;
  flex-direction: column;
  gap: 65px;
}

.empresa {
  display: flex;
  flex-direction: row;
  gap: 20px;
  align-items: center;
}

.empresa__texto {
  font-size: 16px;
  line-height: 1.5;
  color: #333333;
  flex: 1;
}

.empresa__titulo {
  font-size: 30px;
  font-weight: bold;
  color: #0e2841;
}

.pessoas__conversando {
  width: 40%;
  max-width: 300px;
  height: auto;
}

.equipe {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.equipe__titulo {
  font-size: 28px;
  font-weight: bold;
  color: #0e2841;
  text-align: center;
}

.equipe__nome1 {
  display: flex;
  flex-direction: row;
  gap: 5px;
  align-items: center;
  justify-content: space-between;
}

.nome__1 {
  font-size: 24px;
  font-weight: bold;
  color: #0e2841;
}

.funcao__nome1 {
  font-size: 18px;
  color: #666666;
}

.foto__nome1 {
  width: 150px;
  height: auto;
  border-radius: 50%;
}

.equipe__nome2 {
  display: flex;
  flex-direction: row-reverse;
  gap: 5px;
  align-items: center;
  justify-content: space-between;
}

.nome__2 {
  font-size: 24px;
  font-weight: bold;
  color: #0e2841;
}

.funcao__nome2 {
  font-size: 18px;
  color: #666666;
}

.foto__nome2 {
  width: 150px;
  height: auto;
  border-radius: 50%;
}

ul {
  list-style-type: none;
}

li {
  margin-bottom: 5px;
}

Fiz uso do justify-content e do gap que são propriedades do Flexbox que ajudam a organizar e espaçar os elementos dentro de um contêiner flexível.

No código:

  • .equipe__nome1 e .equipe__nome2: Utilizei justify-content: space-between;. Isso garante que o conteúdo dentro de cada div seja distribuído uniformemente ao longo do eixo horizontal, com espaço igual entre os itens, empurrando os itens para as extremidades do contêiner flexível.

Resumo

  • justify-content é usado para alinhar e distribuir os itens dentro de um contêiner flexível ao longo do eixo principal.
  • gap é usado para definir o espaçamento entre os itens dentro de um contêiner flexível ou grid, sem precisar ajustar as margens individualmente.

Essas propriedades ajudam a criar layouts mais limpos e organizados, facilitando a manutenção e a escalabilidade do design.

Um abraço e bons estudos.