Carregando...

Menu Css

Postado: 22 de julho de 2023 Tempo de Leitura: 2 Minutos

Menu Css

Como criar um Menu Suspenso somente com HTML e CSS puro sem uso de scripts.

Veremos que o efeito drop down pode ser criado usando apenas CSS.

Nesta seção, projetaremos uma estrutura simples na tag <nav>,<div><input>, <label>,<ul>,<li>, <span> e a <href> para inserirmos o link de destino. 

Essas são as tags que usaremos para criar o nosso Menu Css.

Vamos Adicionar o HTML

<nav class="menu-nav">

    <div class="container">

        <input id="responsive-menu" type="checkbox">
        <label for="responsive-menu">Menu <span id="menu-icon"></span></label>
        
        <div id="overlay"></div>
        <ul>
        
            <li><a href="#" title="Códigos Html Prontos">Códigos Html Prontos</a></li>
            <li><a href="#" title="Códigos Css Prontos">Códigos Css Prontos</a></li>
            <li><a href="#" title="Jquery">Jquery</a></li>
            <li><a href="#" title="WordPress">WordPress</a></li>
            <li><a href="#" title="Templates">Templates</a></li>
        
        </ul>
        

        <ul class="redes-sociais">
            
            <li>
                <a href="https://www.facebook.com/">
                    <i class="fab fa-facebook"></i>
                    <span class="screen-reader-text">Facebook</span>
                </a>
            </li>

            <li>
                <a href="https://www.instagram.com/">
                    <i class="fab fa-instagram"></i>
                    <span class="screen-reader-text">Instagram</span>
                </a>
            </li>

            <li>
                <a href="https://br.pinterest.com/">
                    <i class="fab fa-pinterest"></i>
                    <span class="screen-reader-text">pinterest</span>
                </a>
            </li>
            
            <li>
                <a href="https://twitter.com/">
                    <i class="fab fa-twitter"></i>
                    <span class="screen-reader-text">Twitter</span>
                </a>
            </li>

        </ul>

    </div>

</nav>

Vamos Adicionar o CSS

Nesta seção, usaremos algumas propriedades  CSS para estilizar o nosso menu.

@import url(https://use.fontawesome.com/releases/v5.0.6/css/all.css);
@import url('https://fonts.googleapis.com/css2?family=Ubuntu+Mono:wght@400;700&display=swap');

*,
*:before,
*:after {
    box-sizing: border-box;
}

html,
body {
    height: 100%;
    margin: 0;
    padding: 0;
}

body {
    background-color: #ffffff;
    color: #111111;
    font-family: 'Ubuntu Mono', monospace;
    font-size: 16px;
}

h1 {
    font-family: 'Ubuntu Mono', monospace;
    text-align: center;
}

a {
    color: #a2ed56;
}

a:hover {
    color: #83e4e2;
    text-decoration: none;
}

.container {
    margin: 0 auto;
    max-width: 80em;
}

main .container {
    padding: 1em;
}

p {

  float: left;
  width: 100%;
  text-align: center;

}

.screen-reader-text {
    clip: rect(1px 1px 1px 1px);
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
}


.menu-nav {
    background: #0275ef;
    color: #ffffff;
    left: 0;
    position: relative;
    top: 0;
    width: 100%;
    z-index: 9999;
}

/*** INPUT ***/
.menu-nav input {
    opacity: 0;
    position: absolute;
    z-index: -1;
}

/*** LABEL ***/
.menu-nav label {
    cursor: pointer;
    display: block;
    font-family: 'Ubuntu Mono', monospace;
    font-size: 30px;
    padding: 0.5em;
}

/* Hamburger Icon */
#menu-icon,
#menu-icon:before,
#menu-icon:after {

    background: #ffffff;
    height: 3px;
    transition: all 0.2s ease-in-out;
    width: 100%;
}

#menu-icon {
    display: inline-block;
    margin: 0.4em 0;
    max-width: 1em;
    position: relative;
}

.menu-nav label #menu-icon {
    float: right;
}

#menu-icon:before,
#menu-icon:after {
    content: '';
    left: 0;
    position: absolute;
}

#menu-icon:before {
    top: -9px;
}

#menu-icon:after {
    bottom: -9px;
}

/* Close Icon */
.menu-nav input[type=checkbox]:checked + label #menu-icon {
    background: transparent;
}

.menu-nav input[type=checkbox]:checked + label #menu-icon:before {
    top: 0;
    transform: rotate(-45deg);
}

.menu-nav input[type=checkbox]:checked + label #menu-icon:after {
    bottom: 0;
    transform: rotate(45deg);
}


/* MENU */
/* Overlay Ativo*/
.menu-nav input:checked ~ #overlay {
 
    background: #32b2fe;
    bottom: 0;
    left: 0;
    height: 100vh;
    position: fixed;
    right: 0;
    top: 0;
    width: 100vw;
    z-index: -1;

}

.menu-nav ul {

    font-size: 22px;
    list-style: none;
    margin: 0;
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    padding: 0;
    text-align: center;

}

.menu-nav input:checked ~ ul {
    margin: 1em;
    max-height: inherit;
    opacity: 1;
}

.menu-nav ul > li {
    margin: 0.5em 0;
}

.menu-nav ul a {

    color: #ffffff!important;
    text-decoration: none;
    transition:.4s;

}

.menu-nav ul a:hover {
    
    color: #111111!important;
    transition:.4s;

}

/*Redes Sociais*/
.menu-nav ul.redes-sociais > li {

    display: inline-block;
    font-size: 30px;
    margin: 8px;

}

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

Veja o Resultado baixo!

Baixar Código Veja Funcionando

Publicado por: Loop Nerd

586 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