28173 sujets

CSS et mise en forme, CSS3

Bonsoir,

Je cherche à aligner 2 div : une à gauche de 300 px et une à droite de 450 px, en float de préférence car j'ai un footer enbas.

http://nodesign1.free.fr/index.php

HTML

<div id="header">
</div>
<div id="main">
  <div id="lcol">
	</div>
	<div id="rcol">
	  <div id="rcontent">
	</div>
</div>
</div>
	
<div id="footer">
</div>


CSS

#main {
	padding-top: 0px;
	position: relative;
	width: 955px;
	margin: 0 auto;
	padding-bottom: 0px;
	}

#lcol {
	width: 300px;
	position: relative;
	left: 0px;
	top: 0px;
	float: left;
	z-index: 10;
	margin: 0;
	overflow: visible;
	}

#rcol {
	margin-left: 0px;
	width: 455px;
	position: relative;
	z-index: 20;
	border: 0px solid #999999;
	float: left;
	top: 0px;
	left:0px;
	padding-left: 0px;
	padding-right: 0px;
	}


Le problème, c'est que j'ai un swf dans la div de droite qui déborde en overflow : visible. Pas de problème dans FF et Safari.

Le souci est que IE ne prend pas en compte la taille spécifiée de la div (300px) mais à l'air de considérer l'overflow avec, et donc ma div de droite passe en dessous.

Comment résoudre ce problème, j'y ai passé 1 nuit et j'ai toujours pas de solution acceptable.

Merci de vos retours Smiley biggrin

Nodesign
Modifié par nodesign (28 Jun 2007 - 01:04)
Bonjour Smiley smile ,

En tant que modérateur, je me dois de te faire remarquer que tu n'as malheureusement pas respecté l'une des Règles de base du forum qui est d'afficher les codes et exemples proprement à l'aide des boutons [ code]... ici ton code HTML, CSS, PHP, etc.[ /code] (sans espace).

Je te remercie par avance de bien vouloir éditer ton message afin de le rendre conforme à cette règle. Smiley cligne

D'ailleurs, je rappelle que le lien qui apparaît en bandeau tout en haut du forum ("Nouveau sur le forum ?...") est important. Il contient des pistes de recherche, des indications sur les règles de vie de la communauté, etc.
Il serait courtois de ta part de bien vouloir en prendre connaissance.

Bonne continuation Smiley smile

upload/1-code.gif
Tu as essayé un peu de overflow: visible ou de oveflow: hidden sur ta div qui a des contenus qui dépassent ?
Salut,

Oui, l'overflow:visible ne change rien dans IE. L'overflow:hidden masque ce qui dépasse, et là, la div reprend sa place en float left.
Ça a l'air de fonctionner sous IE6 avec ça :

#rcol {
	margin-left: 0px;
	width: 455px;
	position: relative;
	z-index: 20;
	border: 0px solid #999999;
	float: left;
	left:0px!important;
	padding-left: 0px;
	padding-right: 0px;
	top: 0px!important;
	/*IE6*/
	margin-bottom:-425px;
	top: -425px;
	left:300px;
	}


Par contre, sous IE7 ?
Tient-il compte de "!important" ?
Oui, ça marche, mais quand les textes s'affichent, ça saute : c'est pas très joli...
Est-ce que quelqu'un a autre chose à proposer ?
nodesign a écrit :
L'overflow:hidden masque ce qui dépasse, et là, la div reprend sa place en float left.

Ben c'est tout bon, non ?
Si le truc qui dépasse doit s'afficher entièrement plutôt qu'être rogné, il faudra alors le positionner en absolu.