Side Navigation
Frontend Club
2 min read
Table of contents
Aprenda a crear un menú de navegación lateral animado y cerrable.
1. Marcado HTML
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="#">About</a>
<a href="#">Services</a>
<a href="#">Clients</a>
<a href="#">Contact</a>
</div>
<!-- Utilice cualquier elemento para abrir el sidenav -->
<span onclick="openNav()">open</span>
<!-- Agregue todo el contenido de la página dentro de este "div" si desea que la navegación lateral empuje el contenido de la página hacia la derecha -->
<div id="main">
...
</div>
2. Estilos CSS
/* El menu side navigation */
.sidenav {
height: 100%; /* 100% altura-completa */
width: 0; /* 0 ancho - cambia esto con JavaScript */
position: fixed; /* fijado */
z-index: 1; /* fijado superior */
top: 0; /* fijado superior */
left: 0;
background-color: #111; /* negro*/
overflow-x: hidden; /* deshabilitar scroll horizontal */
padding-top: 60px; /* Colocar el contenido a 60 px de la parte superior */
transition: 0.5s; /* Efecto de transición de 0,5 segundos para deslizarse en el sidenav */
}
/* Los enlaces del menú de navegación */
.sidenav a {
padding: 8px 8px 8px 32px;
text-decoration: none;
font-size: 25px;
color: #818181;
display: block;
transition: 0.3s;
}
/* Al pasar el ratón sobre los enlaces de navegación, cambia su color. */
.sidenav a:hover {
color: #f1f1f1;
}
/* Posiciona y diseña el botón de cierre (esquina superior derecha) */
.sidenav .closebtn {
position: absolute;
top: 0;
right: 25px;
font-size: 36px;
margin-left: 50px;
}
/* Contenido de la página de estilo: use esto si desea mover el contenido de la página hacia la derecha cuando abre el sidenav */
#main {
transition: margin-left .5s;
padding: 20px;
}
/* En pantallas más pequeñas, donde la altura es menor a 450px, cambie el estilo del sidenav */
@media screen and (max-height: 450px) {
.sidenav {
padding-top: 15px;
}
.sidenav a {
font-size: 18px;
}
}
3. Código JavaScript
/* Establezca el ancho de la navegación lateral a 250px */
function openNav() {
document.getElementById("mySidenav").style.width = "250px";
}
/* Establezca el ancho del sidenav en 0 */
function closeNav() {
document.getElementById("mySidenav").style.width = "0";
}
Referencias
El contenido de este artículo es propiedad original de:
- W3Schools - How TO - Side Navigation
“La mejor manera de aprender a programar es practicando todos los días“.
0
Subscribe to my newsletter
Read articles from Frontend Club directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
Frontend Club
Frontend Club
La mejor manera de aprender a programar es practicando todos los días.