28173 sujets

CSS et mise en forme, CSS3

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 Smiley cligne ).

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 :
/*************************************************** 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 :
#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
Modifié par Mucsy (12 Mar 2006 - 10:14)
bonjour !

Il semblerait que le filtre de transparence pour IE ne marche plus pour des éléments qui superposent... C'est mon cas ici (j'utilise des z-index).

ça ne marche vraiment plus ? Qu'est ce que j'ai comme solution dans ce cas là ?