06
JUIL

HorizontalNav - un plugin jQuery pour étendre vos menus horizontaux

Publié le 06/07/12 à 10h00 par lepalmier

Les menus horizontaux sont monnaies courantes sur les sites. Mais le problème avec un menu dynamique, c'est que sa taille varie (par définition) en fonction du nombre d'onglets.

Pour que votre menu reste toujours adapté au design de votre site, HorizontalNav permet d'ajuster la largeur de votre menu à son conteneur. C'est un plugin très pratique et qui évite de passer des heures à faire de l'adaptation. En plus, il est compatible avec notre ami IE 7.

Prenons l'exemple d'un menu, sans l'utilisation du plugin, voici à quoi il ressemblerait :

Menu horizontal sans le plugin HorizontalNav

Après utilisation du plugin, on obtient le résultat suivant :

Menu horizontal avec le plugin HorizontalNav

Pour le mettre en place, rien de plus simple. Il faut déjà avoir le code HTML :

	

Et appliquer le style du menu :

.horizontal-nav {
	background: #efefef;
	border-radius: 6px;
}
.horizontal-nav ul {
	background: #128F9A;
	float: left;
	text-align: center;
	border-radius: 6px;
	border: 1px solid #0e7079;
}
.horizontal-nav ul li {
	float: left;
	border-left: 1px solid #0e7079;
}
.horizontal-nav ul li:first-child {
	border-left: 0 none;
}
.horizontal-nav ul li a {
	display: block;
	padding: 10px 20px;
	color: #fff;
	border-top: 1px solid rgba(255,255,255, 0.25);
	border-left: 1px solid rgba(255,255,255, 0.25);
}
.horizontal-nav ul li:first-child a {
	border-left: 0 none;
}
.horizontal-nav ul li a:hover {
	background: #12808a;
}
.horizontal-nav ul li:first-child a {
	border-top-left-radius: 6px;
	border-bottom-left-radius: 6px;
}
.horizontal-nav ul li:last-child a {
	border-top-right-radius: 6px;
	border-bottom-right-radius: 6px;
}

Et enfin, on appelle le plugin pour qu'il fasse son travail :

$(document).ready(function() {
	// Call horizontalNav on the navigations wrapping element
	$('.full-width').horizontalNav({});
});

Et voilà qui devrait vous faciliter la vie et vous faire gagner du temps !

Site officiel

Baraguiné par tilotiti le 06/07/12 à 10h20
tilotiti via Twitter
Si quelqu'un veut beaucoup plus simple en se passant d'IE7, il suffit de faire comme suit :

.horizontal-nav ul {display: table; width: 100%}
.horizontal-nav li {display: table-cell}

Et ça suffira largement pour que la largeur de vos différents liens s'adapte au nombre d'onglet et à la largeur de votre site.
Baraguiné par le 19/09/12 à 09h51
Attention : Le code html dans ce tutoriel n'est pas complet.

Il manque les class "horizontal-nav full-width"> sinon le javascript ne peut pas fonctionner.

Voici un copier-coller tiré du site officiel :



Navigation Item
Work
Blog
About
Contact

Ajouter un Commentaire

Pour poster un commentaire, vous devez être identifié. Vous pouvez choisir parmi ces trois méthodes d'identification:

Compte la Ferme du Web

Identifiez-vous
Inscrivez-vous

Compte Facebook

Connexion avec Facebook

Compte Twitter

Connexion avec votre compte twitter
Rechercher sur la Ferme du web