Oltana.net 08 Septembre 2010 à 13:26:54 *
Bienvenue, Invité. Veuillez vous connecter ou vous inscrire.


Connexion avec identifiant et mot de passe
Nouvelles:
Bascule sur SMF faite!
 
 
Accueil Aide Rechercher
Pages: [1]   Bas de page
Imprimer
Auteur Fil de discussion: [ xhtml / css ] Création d'un menu horizontal  (Lu 1388 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.11 | SMF © 2006-2009, Simple Machines LLC