rickzanutta ."> rickzanutta .">

Menú de navegación deslizante horizontal con CSS puro/CSS3

Tiempo de ejecución: 30 minutos. Empezar

Autor: rickzanutta
Views Total: 4,379
Sitio oficial: Ir a la web
Actualizado: September 2, 2014
Licencia: MIT

Vista prévia

Menú de navegación deslizante horizontal con CSS puro/CSS3

Descripción

Un sistema de navegación basado en CSS/CSS3 puro que desliza un menú horizontal mientras haces clic en el ícono de alternancia. Creado por < a href = "https://codepen.io/rickzanutta" target = "_ blank" rel = "noopener" > rickzanutta .

Funcionamiento

Incluya el Normalize. CSS y el Font awesome en la sección Head de la página web (no es necesario, pero recomendado).

<link href="//cdnjs.cloudflare.com/ajax/libs/normalize/3.0.1/normalize.css" rel="stylesheet">
<link href="//netdna.bootstrapcdn.com/font-awesome/4.1.0/css/font-awesome.min.css" rel="stylesheet">

Cree una casilla de verificación para el estado comprobado.

<input type="checkbox" id="nav-button" name="nav-button">

Cree un menú de navegación con la lista HTML.

<nav class="nav-menu">

<label for="nav-button" class="nav-trigger"><i class="fa fa-bars"></i></label>

<ul>


<li><a href="https://twitter.com" target="_blank"><i class="fa fa-twitter"></i><span>Twitter</span></a></li>


<li><a href="https://www.linkedin.com" target="_blank"><i class="fa fa-linkedin"></i><span>Linkedin</span></a></li>


<li><a href="https://github.com" target="_blank"><i class="fa fa-github"></i><span>Github</span></a></li>


<li><a href="http://codepen.io" target="_blank"><i class="fa fa-codepen"></i><span>Codepen</span></a></li>

</ul>
</nav>

Los estilos CSS básicos.

a { text-decoration: none; }

ul,
li {

margin: 0;

padding: 0;
}

El CSS para el icono de alternancia.

.nav-trigger {

background: #1abc9c;

cursor: pointer;

font-size: 36px;

float: left;

padding: 5px 10px;
}

.nav-trigger:hover { background: #15987e; }

.nav-trigger i {

color: #fff;

padding: 5px;

-webkit-transition: -webkit-transform 0.2s ease-in-out;

transition: transform 0.2s ease-in-out;
}

El CSS para el menú de navegación.

.nav-menu {

background: #333;

color: #fff;

position: fixed;

top: 0;

left: 0;

width: 100%;

z-index: 10;
}

.nav-menu ul {

display: inline-block;

left: -100%;

position: relative;

-webkit-transition: left 0.2s ease-in-out;

transition: left 0.2s ease-in-out;
}

.nav-menu li {

display: block;

float: left;
}

.nav-menu li a {

color: #c1c1c1;

display: block;

font-size: 24px;

line-height: 60px;

height: 50px;

margin-top: 1px;

padding: 0 20px;

text-align: center;
}

.nav-menu li a:hover span {

opacity: 1;

visibility: visible;
}

.nav-menu li a i {

font-size: 36px;

-webkit-transition: color 0.2s ease;

transition: color 0.2s ease;
}

.nav-menu li a i.fa-twitter:hover { color: #00aced; }

.nav-menu li a i.fa-linkedin:hover { color: #0077b5; }

.nav-menu li a i.fa-github:hover,
.nav-menu li a i.fa-codepen:hover { color: #fff; }

.nav-menu li a span {

position: absolute;

top: 0%;

left: 100%;

width: 100%;

height: 100%;

font-size: 24px;

line-height: 55px;

opacity: 0;

padding: 0 20px;

text-align: left;

-webkit-transition: opacity 0.2s ease, visibility 0.2s ease;

transition: opacity 0.2s ease, visibility 0.2s ease;

visibility: hidden;
}

El CSS para el estado comprobado.

input[type=checkbox]:checked + .nav-menu .nav-trigger i {

-webkit-transform: rotate(270deg);

-ms-transform: rotate(270deg);

transform: rotate(270deg);
}

input[type=checkbox]:checked + .nav-menu .nav-logo { opacity: 0; }

input[type=checkbox]:checked + .nav-menu ul { left: 0; }

input[type=checkbox] {

position: absolute;

top: -99px;
}

Te puede interesar: