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

Não está responsivo.

Já tentei várias vezes resolver o problema, mas quando passo pro modo mobile no navegador, nem o header nem o carrossel ficam responsivos... Segue abaixo o código. Obrigado desde já pela ajuda.

Este é o HTML:

 <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <div class="container-fluid">
      <a class="navbar-brand" href="#">fruta & fruto</a>
      <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNavAltMarkup" aria-controls="navbarNavAltMarkup" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse justify-content-end" id="navbarNavAltMarkup">
        <div class="navbar-nav">
          <a class="nav-link active" aria-current="page" href="#">Inicio</a>
          <a class="nav-link" href="#">Receitas</a>
          <a class="nav-link" href="#">Quem somos</a>
          <a class="nav-link" href="#">Contato</a>
        </div>
      </div>
    </div>
  </nav>

  <div id="carouselExampleCaptions" class="carousel slide" data-bs-interval="0" data-bs-ride="carousel">
    <div class="carousel-indicators">
      <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
      <button type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide-to="1" aria-label="Slide 2"></button>
    </div>
    <div class="carousel-inner">
      <div class="carousel-item active">
        <img src="src/img/carrossel-img1.jpg" class="d-block w-100 imagem-carrossel-1" alt="...">
        <div class="carousel-caption d-none d-md-block h-50">
          <h1 class="font-text">Reaproveite melhor os alimentos!</h5>
        </div>
      </div>
      <div class="carousel-item">
        <img src="src/img/carrossel-img2.jpg" class="d-block w-100 imagem-carrossel-2" alt="...">
        <div class="carousel-caption d-none d-md-block h-50">
          <h1 class="font-text">Economize e ganhe em saúde!</h5>
        </div>
      </div>
    </div>
    <button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="prev">
      <span class="carousel-control-prev-icon" aria-hidden="true"></span>
      <span class="visually-hidden">Previous</span>
    </button>
    <button class="carousel-control-next" type="button" data-bs-target="#carouselExampleCaptions" data-bs-slide="next">
      <span class="carousel-control-next-icon" aria-hidden="true"></span>
      <span class="visually-hidden">Next</span>
    </button>
  </div>

CSS:

.imagem-carrossel-1 {
    object-fit: cover;
    object-position: 0 80%;
    height: 400px;
}
.imagem-carrossel-2 {
    object-fit: cover;
    height: 400px;
}

.font-text {
    font-family: 'Pacifico', cursive;
}
5 respostas

Olá, Yan. Como vai?

Na segunda linha, no projeto original, não exite essa parte <div class="container-fluid">, ele é aplicado apenas dentro da section do carrosel. Na quarta linha, dentro do button, as classes corretas são data-toggle="collapse" e data-target="#navbarNav. Na linha 7 o id também deve ser corrigido para terem valores iguais id="navbarNav".

Reparei que nessas classes acima, e também em algumas outras no decorrer do código que há um "-bs-", que não existe no projeto original, isso pode estar influenciando na responsividade, pois esses comandos são próprios do bootstrap, e por padrão, eles normalmente vêm responsivos.

Porém pode não ser apenas isso, pois quando a instrutora importa o header do Bootstrap, por exemplo, ele já vem responsivo, então o problema pode também estar nos links de importação do Bootstrap, que ela explica como aplicar no início do curso(o que fica junto do title e também os links de JS antes do fim da tag body).

Vou colocar abaixo o código do projeto, para você analisar, pois nesse post não vai caber.

HTML:

<!DOCTYPE html>
<html>

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>fruta e fruto</title>
  <link href="https://fonts.googleapis.com/css2?family=Pacifico&display=swap" rel="stylesheet">
  <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/css/bootstrap.min.css"
    integrity="sha384-B0vP5xmATw1+K9KRQjQERJvTumQW0nPEzvF6L/Z6nronJ3oUOFUFpCjEUQouq2+l" crossorigin="anonymous">
  <link rel="stylesheet" type="text/css" href="src/style.css">

</head>

<body>
  <header>
    <nav class="navbar navbar-expand-lg navbar-light bg-light fixed-top">
      <a class="navbar-brand fonte-titulo texto-cor-especial" href="#">fruta & fruto</a>
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav"
        aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"><span
          class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse justify-content-end" id="navbarNav">
        <ul class="navbar-nav">
          <li><a class="nav-item active nav-link" href="#">início <span class="sr-only">(current)</span></a></li>
          <li><a class="nav-item nav-link" href="#">receitas</a></li>
          <li><a class="nav-item nav-link" href="#">quem somos</a></li>
          <li><a class="nav-item nav-link" data-toggle="modal" data-target="#modal-contato" href="#">contato</a></li>
        </ul>
      </div>
    </nav>
  </header>
  <main>
    <section class="carrossel">
      <div id="carouselExampleCaptions" class="carousel slide " data-interval="3000" data-ride="carousel">
        <ol class="carousel-indicators">
          <li data-target="#carouselExampleCaptions" data-slide-to="0" class="active"></li>
          <li data-target="#carouselExampleCaptions" data-slide-to="1"></li>
        </ol>
        <div class="carousel-inner">
          <div class="carousel-item active">
            <img src="/projeto-base/src/img/carrossel-img1.jpg" class="d-block w-100 imagem-carrossel-um" alt="...">
            <div class="carousel-caption d-none d-md-block h-50">
              <h1 class="fonte-titulo display-4">Reaproveite melhor os alimentos!</h1>
            </div>
          </div>
          <div class="carousel-item">
            <img src="/projeto-base/src/img/carrossel-img2.jpg" class="d-block w-100 imagem-carrossel-dois" alt="...">
            <div class="carousel-caption d-none d-md-block h-50">
              <h1 class="fonte-titulo display-4">Economize e ganhe em saúde!</h1>
            </div>
          </div>
        </div>
        <a class="carousel-control-prev" href="#carouselExampleCaptions" role="button" data-slide="prev">
          <span class="carousel-control-prev-icon" aria-hidden="true"></span>
          <span class="sr-only">Previous</span>
        </a>
        <a class="carousel-control-next" href="#carouselExampleCaptions" role="button" data-slide="next">
          <span class="carousel-control-next-icon" aria-hidden="true"></span>
          <span class="sr-only">Next</span>
        </a>
      </div>
    </section>

    <section id="titulo">
      <h1 class="text-center fonte-titulo cor-especial pt-5">Receitas para economizar e ganhar saúde</h1>
      <p class="text-center text-secondary pb-5">Nossas receitas ajudam você a aproveitar melhor os alimentos,
        economizar,
        ganhar
        tempo e praticidade</p>
    </section>

    <section class="container-fluid bg-light" id="receitas">
      <div class="row justify-content-center">
        <article class="card borda-cor-especial card-largura p-0 m-4 col-12 col-md-4">
          <img src="/projeto-base/src/img/receita-abacate.jpg" class="card-img-top card-posicao-imagem"
            alt="tigela com salada de abacate, vista superior">
          <div class="card-body">
            <h5 class="card-title">Tigela de abacate</h5>
            <p class="card-text">Receita refrescante e cheia de vitaminas para o seu café da manhã!</p>
            <a href="#" class="btn botao-cor-especial">Veja a receita</a>
          </div>
        </article>

        <article class="card borda-cor-especial card-largura p-0 m-4 col-12 col-md-4">
          <img src="src/img/receita-kiwi.jpg" class="card-img-top card-posicao-imagem"
            alt="tigela de mingau com kiwi, vista superior">
          <div class="card-body">
            <h5 class="card-title">Salada de kiwi</h5>
            <p class="card-text">Receita refrescante e cheia de vitaminas para o seu café da manhã!</p>
            <a href="#" class="btn botao-cor-especial">Veja a receita</a>
          </div>
        </article>

Continuação abaixo:

HTML

        <article class="card borda-cor-especial card-largura p-0 m-4 col-12 col-md-4">
          <img src="src/img/receita-mix.jpg" class="card-img-top card-posicao-imagem"
            alt="prato com mix de vegetais e mão de pessoa adicionando azeite, vista superior">
          <div class="card-body">
            <h5 class="card-title">Mix de vegetais</h5>
            <p class="card-text">Receita refrescante e cheia de vitaminas para o seu café da manhã!</p>
            <a href="#" class="btn botao-cor-especial">Veja a receita</a>
          </div>
        </article>

        <article class="card borda-cor-especial card-largura p-0 m-4 col-12 col-md-4">
          <img src="src/img/receita-pimentoes.jpg" class="card-img-top card-posicao-imagem"
            alt="prato de salada de pimentões com alguns ingredientes ao lado, vista superior">
          <div class="card-body">
            <h5 class="card-title">Pimentões à Juliana</h5>
            <p class="card-text">Receita refrescante e cheia de vitaminas para o seu café da manhã!</p>
            <a href="#" class="btn botao-cor-especial">Veja a receita</a>
          </div>
        </article>

        <article class="card borda-cor-especial card-largura p-0 m-4 col-12 col-md-4">
          <img src="src/img/receita-oriental.jpg" class="card-img-top card-posicao-imagem"
            alt="tigela com salada de vegetais estilo oriental, vista de cima">
          <div class="card-body">
            <h5 class="card-title">Prato oriental</h5>
            <p class="card-text">Receita refrescante e cheia de vitaminas para o seu café da manhã!</p>
            <a href="#" class="btn botao-cor-especial">Veja a receita</a>
          </div>
        </article>

        <article class="card borda-cor-especial card-largura p-0 m-4 col-12 col-md-4">
          <img src="src/img/receita-beterrabas.jpg" class="card-img-top card-posicao-imagem"
            alt="tigela com beterrabas e dentes de alho assados em primeiro plano, com ingredientes ao fundo">
          <div class="card-body">
            <h5 class="card-title">Beterrabas assadas</h5>
            <p class="card-text">Receita refrescante e cheia de vitaminas para o seu café da manhã!</p>
            <a href="#" class="btn botao-cor-especial">Veja a receita</a>
          </div>
        </article>
      </div>
    </section>
    <footer class="bg-secondary p-3">
      <p class="text-light m-0 text-center">contato: <a class="text-light"
          href="mailto:email@frutafruto.com.br">email@frutafruto.com.br</a></p>
    </footer>
  </main>

  <!-- Modal -->
  <div class="modal fade" id="modal-contato" tabindex="-1" aria-labelledby="exampleModalLabel" aria-hidden="true">
    <div class="modal-dialog">
      <dialog class="modal-content">
        <header class="modal-header">
          <h5 class="modal-title" id="exampleModalLabel">Entre em contato</h5>
          <button type="button" class="close" data-dismiss="modal" aria-label="Close">
            <span aria-hidden="true">&times;</span>
          </button>
        </header>
        <main class="modal-body">
          <form>
            <div class="form-group">
              <label for="formGroupExampleInput">Nome completo</label>
              <input type="text" class="form-control" id="formGroupExampleInput" placeholder="Insira seu nome aqui">
            </div>
            <div class="form-group">
              <label for="exampleFormControlInput1">Endereço de E-mail</label>
              <input type="email" class="form-control" id="exampleFormControlInput1" placeholder="nome@exemplo.com">
            </div>

            <div class="form-group">
              <label for="exampleFormControlTextarea1">Deixe seu comentário</label>
              <textarea class="form-control" id="exampleFormControlTextarea1" placeholder="Insira aqui seu comentário"
                rows="3"></textarea>
            </div>
          </form>
        </main>
        <footer class="modal-footer">
          <button type="button" class="btn btn-secondary" data-dismiss="modal">Fechar</button>
          <button type="button" class="btn botao-cor-especial">Enviar</button>
        </footer>
      </dialog>
    </div>
  </div>


  <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"
    integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
    crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.1/dist/umd/popper.min.js"
    integrity="sha384-9/reFTGAW83EW2RDu2S0VKaIzap3H66lZH81PoYlFhbGU+6BZp6G7niu735Sk7lN"
    crossorigin="anonymous"></script>
  <script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.0/dist/js/bootstrap.min.js"
    integrity="sha384-+YQ4JLhjyBLPDQt//I+STsc9iw4uQqACwlvpslubQzn4u2UU2UFM80nGisd026JF"
    crossorigin="anonymous"></script>
  <script src=""></script>
</body>

</html>
solução!

CSS

.card-largura {
    max-width: 18rem;
}

.imagem-carrossel-um {
    object-fit: cover;
    object-position: 0 80%;
    height: 400px;
}

.imagem-carrossel-dois {
    object-fit: cover;
    height: 400px;
}

.fonte-titulo {
font-family: 'Pacifico', cursive;
}

.texto-cor-especial {
    color: darkred!important;
}

.cor-especial {
    color: darkred;
}

.botao-cor-especial {
    background-color: darkred;
    color: white;
}

.borda-cor-especial { 
    border-color: darkred;
}

.card-posicao-imagem {
    object-fit: cover;
    /* object-position: 0 80%; */
    height: 200px;
}

Me conta depois se com as dicas você conseguiu resolver, ou se o problema persiste?

Fico no aguardo! =D

Olá, Yan. Como vai?

Estou deixando o tópico como respondido, porém caso volte a ter mais dúvidas nesse assunto, você pode abrir um novo.

Desejo bons estudos! :)