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

[Projeto] Como ela conseguiu exibir a barra de pesquisa

Como ela conseguiu exibir a barra de pesquisa sendo que o valor da propriedade display no css é igual a none:

.cabecalho__pesquisar__item {
    display: none;
  }

Não fez sentido nenhum pra mim. Baixei o projeto inicial, copiei os códigos das primeiras versões e nada.

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

A barra não aparece. E quando eu removo o display:none, ela aparece nesse formato:

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

/* CABEÇALHO */

.cabecalho__container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
  }
  
  .cabecalho__pesquisar__item {
    display: none;
  }
  
  .form__pesquisa {
    position: relative;
    flex: 1;
    display: flex;
    justify-content: center;
  }
  
  /* SECAO SUPERIOR */
  
  .superior__slider {
    display: none;
  }
  
  
  /* SEÇÃO SUPERIOR */
  
  .superior__secao__container {
    display: flex;
    align-items: center;
    white-space: nowrap;
    overflow: scroll;
    gap: 15px;
  }
  
  
  /* VIDEO */
  
  .videos__container {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }
  
  .videos__item {
    display: block;
    height: 303px;
    width: 280px;
    flex-grow: 1;
  }
  
  
  .descricao-video {
    margin-top: 1rem;
    display: grid;
    text-align: start;
    column-gap: 1rem;
    row-gap: 10px;
    grid-template-columns: auto 1fr;
  }
  
  .descricao-video .img-canal {
    grid-area: 1 / 1 / 3 / 2;
  } 
  
  
  @media (min-width: 1156px) {
    /* CABEÇALHO */
  
    .cabecalho__pesquisar__item {
      display: block;
      transform: translate(-60px);
    }
  
    .pesquisar__input {
      width: 530px;
    }
  
    /* SECAO SUPERIOR */
  
    .superior__slider {
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }
 <div class="cabecalho__pesquisar__item">
            <form class="form__pesquisa">
                <input type="search" class="pesquisar__input" placeholder="Pesquisar">
                <img src="./img/topbar/keyboard.png" alt="Ícone de teclado" class="pesquisar__input-teclado">
                <button class="pesquisar__btn">
                    <img src="./img/topbar/search.png" alt="Ícone de lupa">
                </button>
            </form>
        </div>
2 respostas
solução!

Olá Luis!

Aparentemente, a barra de pesquisa está configurada para ser exibida apenas em telas maiores, conforme o código CSS que você compartilhou. Vamos analisar isso com mais detalhes.

No seu CSS, há uma regra específica em uma media query que define que a barra de pesquisa (.cabecalho__pesquisar__item) deve ser exibida apenas em telas com largura mínima de 1156px:

@media (min-width: 1156px) {
  .cabecalho__pesquisar__item {
    display: block;
    transform: translate(-60px);
  }
}

Fora dessa media query, a propriedade display: none; está sendo aplicada, ocultando a barra de pesquisa em telas menores.

Para resolver isso, você pode fazer uma das seguintes opções:

  1. Modificar a Media Query: Ajuste a largura mínima na media query para um valor menor, se desejar que a barra de pesquisa apareça em telas menores.
@media (min-width: 768px) { /* ou outro valor que você achar adequado */
  .cabecalho__pesquisar__item {
    display: block;
    transform: translate(-60px);
  }
}
  1. Remover a Condição de Media Query: Se você deseja que a barra de pesquisa apareça em todas as telas, independentemente do tamanho, pode remover a media query e aplicar o display: block; diretamente na classe .cabecalho__pesquisar__item.
.cabecalho__pesquisar__item {
  display: block;
  transform: translate(-60px);
}
  1. Usar JavaScript para Controlar a Exibição: Outra abordagem seria usar JavaScript para controlar a exibição da barra de pesquisa com base em eventos ou condições específicas.

Exemplo:

window.addEventListener('resize', function() {
  const searchItem = document.querySelector('.cabecalho__pesquisar__item');
  if (window.innerWidth >= 1156) {
    searchItem.style.display = 'block';
  } else {
    searchItem.style.display = 'none';
  }
});

Espero ter ajudado e bons estudos!

Perfeito! Obrigado.