Gallery

domingo, 20 de julio de 2025

HTML5 - Menú lateral

Sitio web con Menú lateral




CÓDIGO HTML5

HTML

<header>
        <h1>Mi web</h1>
        <nav>
            <ul>
                <li><a href="#">Item 1</a></li>
                <li><a href="#">Item 2</a>
                    <ul style="--cantidad-items: 4">
                        <li><a href="#">SubItem 1</a></li>
                        <li><a href="#">SubItem 2</a></li>
                        <li><a href="#">SubItem 3</a></li>
                        <li><a href="#">SubItem 4</a></li>
                    </ul>
                </li>
                <li><a href="#">Item 3</a></li>
                <li><a href="#">Item 4</a>
                    <ul style="--cantidad-items: 4">
                        <li><a href="#">SubItem 1</a></li>
                        <li><a href="#">SubItem 2</a></li>
                        <li><a href="#">SubItem 3</a></li>
                        <li><a href="#">SubItem 4</a></li>
                    </ul>
                </li>
                <li><a href="#">Item 5</a></li>
            </ul>
        </nav>
       
    </header>
    <main>
        <h2>Hola =)</h2>
        <p>Todo el texto falopa de la web</p>
    </main>


CSS

:root{
    --transicion: 0.9s;
    --cada-item: 28px;
    --cantidad-items: 0;
}

body{
    display: flex;
    min-height: 100vh;
    margin:0;
    font-family: Arial;
    font-size: 16px;
    gap: 30px;
}

header{
    width: 200px;
    background: #1E1E1E;
}

nav ul{
    margin: 0;
    padding: 0;
    list-style: none;
    line-height: 16px;
}

nav ul li{
    border-bottom: 1px solid #1E1E1E;
}

nav ul a{
    box-sizing: border-box;
    color: white;
    background: #121212;
    display: block;
    width: 100%;
    padding: 6px 10px;
    text-decoration: none;
}

nav ul ul{
    height: 0px;
    overflow: hidden;
    transition: var(--transicion);
    counter-reset: items;
}
nav ul ul li{
    counter-increment: items;
}


nav ul li:hover ul{
    height: calc( var(--cantidad-items) * var(--cada-item) );

    background: rgb(2,0,36);
    background: linear-gradient(90deg, rgba(2,0,36,1) 0%, rgba(67,103,17,1) 35%, rgba(0,212,255,1) 100%);


    /*
    height: 100%;
    max-height: calc( counter(items) * var(--cada-item) );
    */
}
nav ul li:hover ul a:hover{
    background: red;
    transition: .5s all linear;
}


nav ul ul a{
    background: transparent;
}

No hay comentarios:

Publicar un comentario

Documental de Hackers