Carregando...

Full screen menu css

Postado: 25 de outubro de 2022 Tempo de Leitura: 4 Minutos

Full screen menu css

Full screen menu css

Este tutorial veremos como criar um Full screen menu com html e css.

Full Screen Menu CSS: Criando um Menu de Tela Cheia com CSS

O menu de tela cheia é uma solução elegante e moderna para criar uma navegação imersiva em sites, especialmente em dispositivos móveis e layouts responsivos. Ele oferece uma experiência de usuário limpa e sem distrações, permitindo que os visitantes se concentrem no conteúdo do menu sem a interferência de outros elementos na página. Neste artigo, vamos explorar como criar um menu de tela cheia usando apenas CSS.

O que é um menu full screen?

Um menu de tela cheia é um tipo de navegação onde o menu ocupa toda a área visível da tela, cobrindo o conteúdo da página até que o usuário interaja com ele, geralmente através de um botão de fechar ou clicando fora do menu. Esse tipo de menu é frequentemente utilizado em sites modernos, aplicativos web e páginas responsivas para melhorar a usabilidade, especialmente em dispositivos móveis.

Nesta seção, projetaremos uma estrutura das seguintes tags abaixo. 

Tags: <div><input><span><nav><ul><li> e a tag <a> para inserirmos o link de destino.

Essas tags usaremos para criar a nosso menu com html e css.

Vamos Adicionar o HTML

Para começar, vamos definir a estrutura HTML básica para o nosso menu de tela cheia. Teremos um botão para abrir o menu e uma área que ocupará toda a tela quando ativada.

        <div class="fullscreen-menu">
         
          <input class="checkbox-toggle" type="checkbox" />
          <div class="hamburger">
            <span></span>
          </div>
        
          <nav class="menu">
        
            <div>
              <div>

                <ul>
                  <li><a href="#">Loop Nerd</a></li>
                  <li><a href="#">Códigos Html</a></li>
                  <li><a href="#">Códigos Css</a></li>
                  <li><a href="#">Templates Html e Css</a></li>
                </ul>

              </div>
            </div>
        
          </nav><!--menu-->
        
        </div>

Vamos Adicionar o CSS

Nesta seção, usaremos algumas propriedades CSS para estilizar e projetar o nosso menu Full Screen.

Agora que temos a estrutura HTML, vamos usar CSS para criar o efeito de tela cheia. A principal característica do menu de tela cheia é que ele deve ocupar toda a área da janela, escondendo o conteúdo da página.

.fullscreen-menu {

   position: fixed;
   top: 3%;
   right: 14.5%;
   z-index: 10;
}

.fullscreen-menu .checkbox-toggle {
  
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  cursor: pointer;
  width: 40px;
  height: 40px;
  opacity: 0;

}

.fullscreen-menu .checkbox-toggle:checked + .hamburger > span {
  transform: rotate(135deg);
}

.fullscreen-menu .checkbox-toggle:checked + .hamburger > span:before,
.fullscreen-menu .checkbox-toggle:checked + .hamburger > span:after {
  top: 0;
  transform: rotate(90deg);
}

.fullscreen-menu .checkbox-toggle:checked + .hamburger > span:after {
  opacity: 0;
}

.fullscreen-menu .checkbox-toggle:checked ~ .menu {
  pointer-events: auto;
  visibility: visible;
}

.fullscreen-menu .checkbox-toggle:checked ~ .menu > div {
  transform: scale(1);
  transition-duration: 0.75s;
}

.fullscreen-menu .checkbox-toggle:checked ~ .menu > div > div {
  opacity: 1;
  transition: opacity 0.4s ease 0.4s;
}

.fullscreen-menu .checkbox-toggle:hover + .hamburger {
  box-shadow: inset 0 0 10px rgba(0, 0, 0, 0.1);
}

.fullscreen-menu .checkbox-toggle:checked:hover + .hamburger > span {
  transform: rotate(225deg);
}

.fullscreen-menu .hamburger {

  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  width: 40px;
  height: 40px;
  padding: 0.5em 0.6em;
  border-radius:50px;
  background-color:#59d7dc;
  cursor: pointer;
  transition: box-shadow 0.4s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  display: flex;
  align-items: center;
  justify-content: center;

}

.fullscreen-menu .hamburger > span {

  position: relative;
  flex: none;
  width: 100%;
  height: 2px;
  background: #FEFEFE;
  transition: all 0.4s ease;
  display: flex;
  align-items: center;
  justify-content: center;

}

.fullscreen-menu .hamburger > span:before,
.fullscreen-menu .hamburger > span:after {

  content: '';
  position: absolute;
  z-index: 1;
  top: -6px;
  left: 0;
  width: 100%;
  height: 2px;
  background: inherit;
  transition: all 0.4s ease;

}

.fullscreen-menu .hamburger > span:after {
  top: 6px;
}

.fullscreen-menu .menu {

  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  overflow: hidden;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  outline: 1px solid transparent;
  display: flex;
  align-items: center;
  justify-content: center;

}

.fullscreen-menu .menu > div {
  
  width: 200vw;
  height: 200vw;
  color: #59D7DC;
  background: rgba(0, 0, 0, 0.98);
  border-radius: 50%;
  transition: all 0.4s ease;
  flex: none;
  transform: scale(0);
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;

}

.fullscreen-menu .menu > div > div {
  
  text-align: center;
  max-width: 90vw;
  max-height: 100vh;
  opacity: 0;
  transition: opacity 0.4s ease;
  overflow-y: auto;
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;

}

.fullscreen-menu .menu > div > div > ul {
  
  list-style: none;
  padding: 0 1em;
  margin: 0;
  display: block;
  max-height: 100vh;

}

.fullscreen-menu .menu > div > div > ul > li {

  padding: 0;
  margin: 1em;
  font-size: 24px;
  display: block;

}

.fullscreen-menu .menu > div > div > ul > li > a {

  color:#59d7dc;
  font-size:35px;
  text-decoration:none;
  position: relative;
  display: inline;
  cursor: pointer;
  transition: color 0.4s ease;

}

.fullscreen-menu .menu > div > div > ul > li > a:hover {
  color: #ffffff;
}

.fullscreen-menu .menu > div > div > ul > li > a:hover:after {
  width: 100%;
}

.fullscreen-menu .menu > div > div > ul > li > a:after {

  content: '';
  position: absolute;
  z-index: 1;
  bottom: -0.2em;
  left: 0;
  width: 0;
  height: 2px;
  background: #ffffff;
  transition: width 0.4s ease;

}

Combinando as Duas seções acima Html e Css temos o seguinte Resultado!

Conclusão

O menu de tela cheia em CSS é uma ótima maneira de proporcionar uma navegação imersiva em seu site. Usando apenas HTML e CSS, conseguimos criar um efeito moderno e responsivo que melhora a experiência do usuário, especialmente em dispositivos móveis.

O uso do CSS para controlar a visibilidade e o layout do menu oferece flexibilidade e desempenho, mantendo o código simples e limpo.

Veja o Resultado baixo!

Baixar Código Veja Funcionando

Publicado por: Loop Nerd

740 Visualizações

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Artigos Relacionados