Oltana.net 11 Février 2012 à 13:34:47 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.


Connexion avec identifiant et mot de passe
Nouvelles:
Pour les gens déja membres, veuillez supprimer le cookie du site présent sur vos navigateurs, sous peine de pb de connexion.

Si ca n'y fait toujours rien, se faire renvoyer un nouveau mot de passe, puis le changer un fois loggé.
 
 
Accueil Aide Rechercher
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [ xhtml / css ] Création d'un menu horizontal  (Lu 1496 fois)
Corven
Administrateur
*****
Hors ligne Hors ligne

Sexe: Homme
Messages: 1632



Voir le profil WWW
« le: 05 Avril 2006 à 11:35:09 »

:: [ xhtml / css ] Création d'un menu horizontal ::



Besoin d'un menu horizontal compatible xhtml 1.0 strict pour votre futur site web ?
A la fin de ce tutorial vous serez en mesure d'en créer un !

Nous disposons de peu de chose: un bouton vide de texte créé préalablement et notre éditeur html.



Commençons par mettre en place notre structure html :
Code:
<html>
<head>
<style type="text/css">

</style>
</head>
<body>

</body>
</html>
Le menu se fera avec une liste, vous allez pouvoir apprécier le pouvoir des feuilles de style !
Reprennez donc ce code à placer entre les balises <body> et </body>:
Code:
<div id="liste_menu">
<ul>
<li><a href="#">Menu 01</a></li>
<li><a href="#">Menu 02</a></li>
<li><a href="#">Menu 03</a></li>
<li><a href="#">Menu 04</a></li>
</ul>
</div>
A ce stade vous devez avoir un menu vertical.

La partie xhtml étant terminé, passons à la mise en forme grâce au css.
Ici le code se placera dans les balises couplées <style>.


Nous allons travailler sur les balises <li>, ciblons donc ces balises avec le css:
Code:
div#liste_menu ul li { }


Nous avons un menu vertical, convertissons le en menu horizontal grâce à la propriété float: left; :
Code:
div#liste_menu ul li { float: left; }


Maintenant retirons les puces inesthétiques dans ce genre de menu :
Code:
div#liste_menu ul li { float: left; list-style-type: none; }


Agissons maintenant sur les liens en ajoutant cette ligne de code :
Code:
div#liste_menu ul li a { }


Usons de la propriété display: block pour pouvoir donner une taille à la zone réactive du lien:
Code:
div#liste_menu ul li { float: left; list-style-type: none; }
div#liste_menu ul li a { display: block; }


Et ensuite ajoutons l'image du bouton qui se trouve dans le même répertoire que votre fichier html !
Code:
div#liste_menu ul li { float: left; list-style-type: none; }
div#liste_menu ul li a { display: block; background-image: url('bouton.gif'); width: 116px; height: 31px;}        /*le width et le height se réfère au bouton*/


Ajouter une petite propriété pour éviter un dupliquement du bouton, même si on a définit une taille de la zone réactive égale à celle du bouton:
Code:
div#liste_menu ul li { float: left; list-style-type: none; }
div#liste_menu ul li a { display: block; background-image: url('bouton.gif'); width: 116px; height: 31px; background-repeat: no-repeat;}


Donnons un peu plus de style à notre texte en utilisant les diférentes propriété de font:
Code:
div#liste_menu ul li { float: left; list-style-type: none; font-family: Verdana; font-size: 11px; font-weight: bold; text-align: center; }
div#liste_menu ul li a { display: block; background-image: url('bouton.gif'); width: 116px; height: 31px; background-repeat: no-repeat; color: #000000;}


Finalisons le texte.
Nous allons retirer le soulignement du lien ainsi que ce même soulignement lorsqu'on passe la souris dessus, ceci avec la propriété text-decoration passée en "none".
Code:
div#liste_menu ul li { float: left; list-style-type: none; font-family: Verdana; font-size: 11px; font-weight: bold; text-align: center; }
div#liste_menu ul li a { display: block; background-image: url('bouton.gif'); width: 116px; height: 31px; background-repeat: no-repeat; color: #000000; text-decoration: none; }
div#liste_menu ul li a:hover { text-decoration: none; }


Changeons la couleur du lien survolé :
Code:
div#liste_menu ul li { float: left; list-style-type: none; font-family: Verdana; font-size: 11px; font-weight: bold; text-align: center; }
div#liste_menu ul li a { display: block; background-image: url('bouton.gif'); width: 116px; height: 31px; background-repeat: no-repeat; color: #000000; text-decoration: none; }
div#liste_menu ul li a:hover { text-decoration: none; color: red;}


Et descendons un petit peu le texte pour qu'il soit plus centré dans le bouton avec la propriété padding-top dans div#liste_menu ul li a :
Code:
div#liste_menu ul li { float: left; list-style-type: none; font-family: Verdana; font-size: 11px; font-weight: bold; text-align: center; }
div#liste_menu ul li a { display: block; background-image: url('bouton.gif'); width: 116px; height: 31px; background-repeat: no-repeat; color: #000000; text-decoration: none; padding-top: 3px;}
div#liste_menu ul li a:hover { text-decoration: none; color: red;}



Voilà c'est terminé, le code au complet est le suivant :
Code:
<html>
<head>
<style type="text/css">

div#liste_menu ul li { float: left; list-style-type: none; font-family: Verdana; font-size: 11px; font-weight: bold; text-align: center; }
div#liste_menu ul li a { display: block; background-image: url('bouton.gif'); width: 116px; height: 31px; background-repeat: no-repeat; color: #000000; text-decoration: none; padding-top: 3px;}
div#liste_menu ul li a:hover { text-decoration: none; color: red;}

</style>
</head>
<body>

<div id="liste_menu">
<ul>
<li><a href="#">Menu 01</a></li>
<li><a href="#">Menu 02</a></li>
<li><a href="#">Menu 03</a></li>
<li><a href="#">Menu 04</a></li>
</ul>
</div>

</body>
</html>


Si vous désirez faire un rollover (effet de survol) sur le bouton même il vous suffit d'ajouter une propriété background-image dans la ligne div#liste_menu ul li a:hover :
Code:
div#liste_menu ul li a:hover { text-decoration: none; color: red; background-image: url('bouton_on.gif'); }

Et de prendre ce bouton bien sûr :




A suivre : ajouter un menu déroulant sous chaque bouton ...

:: corven ::
Journalisée

[size=84]Intel E6600 @ 2,4ghz - Asus P5B Deluxe Wifi/AP - Asus 7600GT Silent/2DHT - G.Skill Extreme Serie PK 4*1go PC6400 - Hitachi T7K250 250go & 160go - Seasonic S12 600Watts - Noctua NH-U12F + 2* Noctua NF-S12 1200 - Nec 3520A - Gigabyte Triton Black - 2* Viewsonic VX2025WM - Logitech Media Keyboard Elite - Logitech G5 - Koss UR40 - Onduleur MGE 675VA // MACBOOK PRO 2008 @2,4ghz[/size]
Pages: [1]   Haut de page
Imprimer
Oltana.net  |  Tutoriels  |  Grimoire  |  Fil de discussion: [ xhtml / css ] Création d'un menu horizontal
 
Aller à:  

Powered by SMF 1.1.15 | SMF © 2006-2009, Simple Machines