filter sur PNG et <!-- [if IE]> ne marchent pas
Bonjour à tous !
Voilà, j'ai souhaité effectuer un menu réactif sur le model proposé ici http://www.actinidia.net/Css (bravo à l'auteur pour cette réalisation :wink: ).
Le problème c'est que IE n'aime toujours pas les PNG transparents donc il faut utiliser des filters. Le menu est composé de 2 PNG, de 2 feuilles de styles (une générique + une pour IE additive), d'un script JS et d'un menu-liste html.
voici le bout de code CSS pour le menu réactif :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
| /*************************************************** MENU REACTIF ************************************************/
#head {
background: #FFF url(test2.jpg) no-repeat center top;
height:300px;
}
#page ul#menu {
position: relative;
top: 110px;
z-index: 10;
left: 10px;
width: 210px;
margin: 0;
padding: 0;
list-style: none;
}
#page ul#menu li {
margin: 0;
padding: 0;
font: normal 0.9em "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif;
background: none;
}
#page ul#menu li a, #page ul#menu li a:link, #page ul#menu li a:visited {
display: block;
width: 149px;
height: 26px;
padding: 9px 0 5px 13px;
font: bold 1em "Trebuchet MS",Verdana, Arial, Helvetica, sans-serif;
color: #FFF;
text-decoration: none;
background-color: transparent;
}
#page ul#menu li a[id], #page ul#menu li a[id]:link, #page ul#menu li a[id]:visited {
background: transparent url(bouton.png) top right no-repeat;
}
#page ul#menu li a.current {
width: 197px;
height: 26px;
background: transparent;
}
#page ul#menu li a:hover, ul#menu li a.current {
color:#003300;
background: transparent;
}
#page ul#menu li a[id]:hover, ul#menu li a[id].current {
background: transparent url(boutonh.png) top right no-repeat;
}
#page ul#menu li a:active {
border: none;
background: transparent;
} |
ainsi que le supplémenent spécial IE :
Code:
1 2 3 4 5 6 7 8 9 10 11
| #page ul#menu li.current a.current {
width: 197px;
}
#page ul#menu li a, #page ul#menu li a:link, #page ul#menu li a:visited {
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='bouton.png');
margin-top:3px;
}
#page ul#menu li a:hover, #page ul#menu li.current a.current {
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='boutonh.png');
} |
que j'appelle avec <!-- [if IE]><link rel=stylesheet...... ><![endif]-->
et le Javascript associé : http://www.ndeliens.net/style/script.js
voici ma page web : www.ndeliens.net
Vous pourrez alors constater que les PNG sont invisibles sous IE...
Je vous remercie pour votre aide