28220 sujets

CSS et mise en forme, CSS3

Bonjour a tous.

Vous allez peut etre m aider car je pense qu il sagit d un probleme recurrent que vous avez deja tous rencontré.

Alors je suis nouveau dans le CSS, donc pls soyez indulgent (j ai lu pas mal de tutoriaux du site) et d ailleurs je me base sur les tutoriaux pour faire le site qui suit.
1. j ai pris le modele de base : http://css.alsacreations.com/modeles/modele1.htm

2. j ai voulu y inclure un menu horizontal (base sur le tutorial) : http://css.alsacreations.com/xmedia/exemples/deroulant/menu-horizontal.htm

et j obtiens ceci : http://users.skynet.be/fa266316/index.html

Sous firefox le menu est bien mis, par contre sous IE il le balance a droite ??

le css :


body {
margin: 0;
padding: 0;
background: white;
font: 80% verdana, arial, sans-serif;
}
dl, dt, dd, ul, li {
margin: 0;
padding: 0;
list-style-type: none;
}

#conteneur {
position: absolute;
width: 750px;
left: 50%;
margin-left: -375px;
background-color:#CCFFFF;
}

.head1
{
width:100%;
height:75px;
}

.head2
{
margin-top:50px;
width:500px;
height:250px;
float:left;
}
.head3
{
margin-top:50px;
width:150px;
height:250px;
float:left;
}


.logo {
float:right;
margin-right:0px;
margin-top:0px;
border:0px;
}



#menu {
position: absolute;
z-index:100;
width: 100%;
}

#menu dl {
width: 150px;
float:left;
}
#menu dt {
cursor: pointer;
text-align: center;
font-weight: bold;
background: #ccc;
border: 1px solid gray;
margin: 0px;
margin-right:5px;
}
#menu dd {
display: none;
border: 1px solid gray;
}
#menu li {
text-align: center;
background: #fff;
}
#menu li a, #menu dt a {
color: #000;
text-decoration: none;
display: block;
height: 100%;
border: 0 none;
}
#menu li a:hover, #menu li a:focus, #menu dt a:hover, #menu dt a:focus {
background: #eee;
}


le HTML:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel=stylesheet href="stylesheet/menu.css" type="text/css">
<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
	for (var i = 1; i<=10; i++) {
		if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
	}
if (d) {d.style.display='block';}
}
//-->
</script>
<title>home</title>
</head>
<body>
<div id="conteneur">
	
	<div class="head1">
	<img src="images/logo.gif" class="logo" alt="logo" />
	</div>
	
	<div id="menu">
		<dl>
			<dt onmouseover="javascript:montre();"><a href="" title="Retour à l'accueil">Accueil</a></dt>
		</dl>
		
		<dl>			
			<dt onmouseover="javascript:montre('smenu1');">Menu 1</dt>
	
			<dd id="smenu1" onmouseover="javascript:montre('smenu1');" onmouseout="javascript:montre('');">
				<ul>
					<li><a href="#">Sous-Menu 1.1</a></li>
					<li><a href="#">Sous-Menu 1.2</a></li>
					<li><a href="#">Sous-Menu 1.3</a></li>
					<li><a href="#">Sous-Menu 1.4</a></li>
					<li><a href="#">Sous-Menu 1.5</a></li>
					<li><a href="#">Sous-Menu 1.6</a></li>
					</ul>
			</dd>
		</dl>
		
		
		<dl>	
			<dt onmouseover="javascript:montre('smenu2');">Menu 2</dt>
	
				<dd id="smenu2" onmouseover="javascript:montre('smenu2');" onmouseout="javascript:montre('');">
				<ul>
					<li><a href="#">Sous-Menu 2.1</a></li>
					<li><a href="#">Sous-Menu 2.2</a></li>
					<li><a href="#">Sous-Menu 2.3</a></li>
					<li><a href="#">Sous-Menu 2.4</a></li>
				</ul>
	
				</dd>
		</dl>
		
		<dl>	
			<dt onmouseover="javascript:montre('smenu3');">Menu 3</dt>
				<dd id="smenu3" onmouseover="javascript:montre('smenu3');" onmouseout="javascript:montre('');">
				<ul>
	
					<li><a href="#">Sous-Menu 3.1</a></li>
					<li><a href="#">Sous-Menu 3.2</a></li>
					<li><a href="#">Sous-Menu 3.3</a></li>
					<li><a href="#">Sous-Menu 3.4</a></li>
					<li><a href="#">Sous-Menu 3.5</a></li>
				</ul>
	
				</dd>
		</dl>
		
		<dl>	
			<dt onmouseover="javascript:montre('smenu4');">Menu 4</dt>
				<dd id="smenu4" onmouseover="javascript:montre('smenu4');" onmouseout="javascript:montre('');">
				<ul>
	
					<li><a href="#">Sous-Menu 4.1</a></li>
					<li><a href="#">Sous-Menu 4.2</a></li>
					<li><a href="#">Sous-Menu 4.3</a></li>
	
				</ul>
				</dd>
		</dl>
	</div>
	<div class="head2">
	<img  src="images/image1.gif" />
	</div>
	<div class="head3">
	<img  src="images/image2.gif" />
	</div>
</div>


</body>
</html>



Voila j avoue que j ai aussi quelques probleme avec le fait que je veuille centrer mon menu (pour que pour dans n importe quel définition le menu soit à la meme place) et, eviter qu il ne se transforme en menu vertical lorque l on reduit la page manuellement.

une petite derniere aussi, pq dans le #conteneur je suis obligé de mettre

margin-left : -375px;
left: 50%;

? (j ai vu le resultat sans et oki ca casse tout mais je comprends pas trop)

un grand merchiii a tous.
Phoelis


EDIT : je n ai pas laché l affaire et j ai trouvé la solution:
il faut mettre aussi dans #menu

margin-left : -375px;
left: 50%;


mais bon j ai tjrs pas compris le pq de ces 2 lignes.
++ et merci
Modifié par phoelis (12 Apr 2006 - 22:01)