Bonjour,
Je voudrais créer un menu horizontal d'exactement 574px de largeur et composé de 7 images de 82px (7 x 82 = 574 !)
A l'origine il s'agit d'un menu en javascript et je me suis dit qu'il serait mieux de n'utiliser que Html + Css, mais j'avais oublié que c'était pas si évident que ça à mettre en oeuvre =)
Voici le code HTML du menu :
Et voici le CSS :
J'utilise donc
"display: inline-block;" ou "display:-moz-inline-box;" si le navigateur est firefox.
J'ai testé sur IE, Firefox et Opera, et ça ne marche correctement que sur IE.
Le problème sur Firefox et Opera est qu'il y a un espace d'environ 3 pixels entre les images. Le menu d'images ne tient donc plus sur une ligne en plus d'avoir ce problème esthétique d'espace blanc entre les images.
D'après la faq, je crois qu'il s'agit d'un problème de différence de modèles de boîtes entre les standards et Microsoft, pourtant je pensais qu'avec un margin de 0px sur les éléments (<li> et <a>), les marges disparaissent et les images se colleraient ?
Est-ce que vous pourriez m'éclairer sur ce sujet SVP ?
Merci d'avance =)
Modifié par mark_nikil (22 Nov 2006 - 12:31)
Je voudrais créer un menu horizontal d'exactement 574px de largeur et composé de 7 images de 82px (7 x 82 = 574 !)
A l'origine il s'agit d'un menu en javascript et je me suis dit qu'il serait mieux de n'utiliser que Html + Css, mais j'avais oublié que c'était pas si évident que ça à mettre en oeuvre =)
Voici le code HTML du menu :
<div id="main_menu">
<ul id="menu">
<li><a id="menu_1" title="menu_1" accesskey="1" href="#"></a></li>
<li><a id="menu_2" title="menu_2" accesskey="2" href="#"></a></li>
<li><a id="menu_3" title="menu_3" accesskey="3" href="#"></a></li>
<li><a id="menu_4" title="menu_4" accesskey="4" href="#"></a></li>
<li><a id="menu_5" title="menu_5" accesskey="5" href="#"></a></li>
<li><a id="menu_6" title="menu_6" accesskey="6" href="#"></a></li>
<li><a id="menu_7" title="menu_7" accesskey="7" href="#"></a></li>
</ul>
</div>
Et voici le CSS :
#main_menu {
width: 574px;
float: left;
height: 48px;
}
ul#menu {
list-style-type: none;
}
ul#menu li
{
display: inline;
padding:0px;
margin:0px;
}
ul#menu a {
text-decoration: none;
width: 82px;
height: 47px;
padding:0px;
margin:0px;
display: inline-block;
/*display:-moz-inline-box;*/
}
a#menu_1 {
background-image: url(images/menu_up_1.jpg);
}
a#menu_1:hover {
background-image: url(images/menu_ov_1.jpg);
}
a#menu_1:active {
background-image: url(images/menu_sel_1.jpg);
}
a#menu_2 {
background-image: url(images/menu_up_2.jpg);
}
(...)
J'utilise donc
"display: inline-block;" ou "display:-moz-inline-box;" si le navigateur est firefox.
J'ai testé sur IE, Firefox et Opera, et ça ne marche correctement que sur IE.
Le problème sur Firefox et Opera est qu'il y a un espace d'environ 3 pixels entre les images. Le menu d'images ne tient donc plus sur une ligne en plus d'avoir ce problème esthétique d'espace blanc entre les images.
D'après la faq, je crois qu'il s'agit d'un problème de différence de modèles de boîtes entre les standards et Microsoft, pourtant je pensais qu'avec un margin de 0px sur les éléments (<li> et <a>), les marges disparaissent et les images se colleraient ?
Est-ce que vous pourriez m'éclairer sur ce sujet SVP ?
Merci d'avance =)
Modifié par mark_nikil (22 Nov 2006 - 12:31)