Bon, voici quelques commentaires sur le CSS et ici on parle bien d'optimisation car à première vue, la structure HTML est bonne.
Première des choses, les deux menus ne devraient pas avoir du contenu dans l'image et surtout pas en background-image. Tu pourrais alors avoir un background-image avec un gif de 1x25 pixel que tu fais répéter ( repeat-x ). Ainsi, tu pourrais aussi retirer la classe menu1 et menu2 puisque les deux <div> seraient identique. Tu pourrais ainsi ne pas dupliquer tes propriétés CSS pour .menu1 et .menu2 pour remplacer ça pour #menu div { propriétés }
Si tu n'as absolument pas le choix d'avoir le texte dans l'image, ajoute un équivalent textuel que tu caches en CSS et regroupe les propriétés identiques.
.menu1,
.menu2 {
background-color:#333333;
background-repeat:repeat-x;
min-height:173px;
}
.menu1 {
background-image:url("images/motif1.jpg");
}
.menu2 {
background-image:url("images/motif2.jpg");
margin-bottom:10px;
}
Si on continue sur le menu, tu ajoutes une classe sur chacun de tes items du menu ( sur chaque <li> ) et c'est inutile.
Si on revient à l'essence de l'acronyme CSS ( Cascading Style Sheets ). Des styles en cascade qui hérite des propriétés "génériques" tout en ayant la possibilité d'avoir des propriétés spécifiques.
Ton code pourrait donc avoir l'air de ceci, surtout que ta classe .nose1 sert à rien pour le moment.
<ul>
<li class="sel"><a href="index.html">Accueil</a></li>
<li><a href="/blog">Blog</a></li>
<li><a href="/forum">Forum</a></li>
<li><a href="contact.html">Contact</a></li>
</ul>
Donc, tu pourrais avoir un CSS général pour les <li> et spécifique pour <li class="sel">
ul li { width: 200px; list-style-image:url(puce.gif) }
ul li.sel { list-style-image:url(select_icon.gif) }
J'ignore si c'est facile à comprendre mais ce sont des modifications que je ferais. Éventuellement, on peut espérer que tous les sélecteurs CSS3 seront supportés partout et qui permettront de faire des CSS sans ajouter ( ou très peu ) de classe ou de id aux tags HTML. Cependant, rien nous empêche de tendre vers ça avec les sélecteurs actuellement supportés et avec le principe du
Cascading Style Sheets