Bonjour,

Je suis en train d’essayer de réaliser un truc un peu compliqué (pour moi…)
Pour des raisons de design j’ai besoin de faire se chevaucher deux éléments mais plutôt que de me lancer dans des explications compliquée voici un visuel de ce que je veux faire :

http://www.vangardis.com/divers/exemple_chevauchement.jpg

Dans l’idéal j’aimerais faire ça avec des tableaux plutôt qu’avec des div car je dois mettre un swf en width : 100% dans la colonne centrale et en div ça foire, mais j’ai eu beau essayer en tableaux je n’y arrive pas.

Voici ce que j’ai fait pour le moment. C’est presque ça mais comme je dois mettre dans ma colonne centrale un <table width="100%"…… sous IE ça me décale tout….

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	background-color: #353535;
	background-image: url(themes/BlackV1.0/images/site/ground1.jpg);
	background-repeat: repeat-x;
}
.col_gauche {
	width: 167px;
	border: 1px solid #CCCCCC;
	position: absolute;
	top: 93px;
}
.col_centre {
	border: 1px dashed #993300; 
	top: 93px; 
	position: absolute; 
	left: 160px; 
	right: 242px; 
	color: #FFFFFF;
}
.logo {
	background-image: url(themes/BlackV1.0/images/site/logo.jpg);
	background-repeat: no-repeat;
	width: 242px;
	background-position: right top;
	height: 330px;
	position: absolute;
	right: 0px;
	top: 0px;
}
.header {
	background-image: url(themes/BlackV1.0/images/site/header1.jpg);
	background-repeat: no-repeat;
	height: 93px;
	background-color: #080808;
	margin-right: 242px;
}
.ground1 {
	background-color: #353535;
	background-image: url(themes/BlackV1.0/images/site/ground1.jpg);
	background-repeat: repeat-x;
}
-->
</style>
</head>
<body>
<div class="header">Placez ici le contenu de  class "col_gauche"</div>
<div class="logo">&nbsp;</div>
<div class="col_gauche">Placez ici le contenu de  class "col_gauche"</div>
<div class="col_centre">
<p>Placez ici le contenu de  class "col_centre Placez ici le contenu de  class &quot;col_centre Placez ici le contenu de  class &quot;col_centre Placez ici le contenu de  class &quot;col_centre Placez ici le contenu de  class &quot;col_centre Placez ici le contenu de  class &quot;col_centre Placez ici le contenu de  class &quot;col_centre </p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
  <p>&nbsp;</p>
</div>
</body>
</html>




Si quelqu’un aurait la patience de regarder ça ……
Salut,

Je ne connais pas le design que tu cherches à intégrer mais... ne serait-ce plutôt pas plus simple de découper 7 px (débordement) de ton design et de le placer dans la colone de gauche ?

En positionnant l'image à droite du bloc et en le fesant répéter en axe "y" si necessaire et si le design te le permet.
jacknikolson a écrit :
En fait j'ai bien pensé à ça mais ce que je veux afficher c'est un ombrage en png transparent (voir souci avec IE....)

Pour ma part, j'ai renoncé à bidouiller de la transparence graduelle en PNG dans IE6. Mais c'est peut-être juste parce que je ne suis pas doué...

Pour ma part, je n'utiliserais pas de PNG transparent, mais mettrait l'effet de dégradé directement sur l'image finale.
La contrainte, c'est que le petit dégradé à droite de chaque élément de menu doit faire partie de l'image de fond de l'élément de menu. Du coup, c'est le menu qui doit être décalé de 7px, ce qui devrait être jouable mine de rien.

Avec un menu positionné en absolu, et un bloc de contenu qui aurait une marge à gauche de largeur du menu -7px, ça devrait être jouable.
Salut.

Pour le coup du dégradé sur l'image finale ça va pas aller avec mon design je pense car le background général est en dégradé.

Par contre, mpop, veux tu dire que ce que je veux faire n'est pas réalisable?

Je crois pouvoir dire qu'à force de chercher dans tous les sens j'ai toujours fini par trouver une solution. Pour le moment ce que je veux faire fonctionne parfaitement sous FF. Mais je ne comprends pas pourquoi la marge de droite que j'applique à mon "col_centre" ne s'applique pas sous IE....N'y a-t-il pas une solution?

Je ne sais pas si ce que je dis est très parlant alors n'hésitez pas à regarder le .rar je pense qu'on comprend mieux....
Salut mpop

J'ai suivi ton conseil mais plutôt que de déplacer le menu j'ai déplacé la colonne de gauche.

Je suis prèsque arrivé au bon résultat mais il subsiste un dernier souci: comme je déplace ma colonne de 7px vers la droite mon menu n'est plus collé sur la gauche du site. Je ne réussis pas à le "rallonger" de 7px en plus à gauche.

Comment faire?

Voici mon nouveau code qui passe sous FF et IE de façon identique

<!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>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	background-color: #353535;
	background-image: url(themes/BlackV1.0/images/site/ground1.jpg);
	background-repeat: repeat-x;
}
.col_gauche {
	width: 167px;
	border: Aucune;
	position: absolute;
	top: 110px;
	left: 7px;
}
.col_centre {
	color: #FFFFFF;
	border: Aucune;
}
.logo {
	background-image: url(themes/BlackV1.0/images/site/logo.jpg);
	background-repeat: no-repeat;
	width: 242px;
	background-position: right top;
	height: 330px;
}
.header {
	background-image: url(themes/BlackV1.0/images/site/header1.jpg);
	background-repeat: no-repeat;
	height: 110px;
	background-color: #080808;
}
.ground1 {
	background-color: #353535;
	background-image: url(themes/BlackV1.0/images/site/ground1.jpg);
	background-repeat: repeat-x;
}
.ombre_angle_bas_droite {	line-height: 7px;
	background-image: url(themes/BlackV1.0/images/site/ombre_angle_droite.png);
	background-repeat: no-repeat;
	height: 7px;
	width: 7px;
}
.ombre_angle_bas_gauche {	background-image: url(themes/BlackV1.0/images/site/ombre_angle_gauche.png);
	background-repeat: no-repeat;
	height: 7px;
	width: 7px;
	background-position: right top;
	line-height: 7px;
}
.ombre_bas {	line-height: 7px;
	background-image: url(themes/BlackV1.0/images/site/ombre_bas.png);
	background-repeat: repeat-x;
	height: 7px;
}
.ombre_bas_droite {	line-height: 7px;
	background-image: url(themes/BlackV1.0/images/site/ombre_bas_droite.png);
	height: 7px;
	background-repeat: no-repeat;
	width: 7px;
}
.ombre_bas_gauche {	line-height: 7px;
	background-image: url(themes/BlackV1.0/images/site/ombre_bas_gauche.png);
	background-repeat: no-repeat;
	height: 7px;
	width: 7px;
}
.ombre_droite {	background-image: url(themes/BlackV1.0/images/site/ombre_droite.png);
	background-repeat: repeat-y;
	width: 7px;
}
.ombre_gauche {
	background-image: url(themes/BlackV1.0/images/site/ombre_gauche.png);
	background-repeat: repeat-y;
	background-position: right;
	width: 7px;
	height: 100%;
}
.bouton {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	line-height: 24px;
	color: #CCCCCC;
	height: 24px;
	margin-bottom: 1px;
	background-color: #393939;
	text-align: left;
	vertical-align: middle;
	border: 1px solid #999999;
}
.cadre_centre {
	border: 1px solid #383838;
	background-image: url(themes/BlackV1.0/images/site/ground2.jpg);
	background-repeat: repeat-x;
	background-position: left top;
	background-color: #323232;
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	color: #CCCCCC;
}
.cadre_centre1 {	border: 1px solid #4b4b4b;
	background-image: url(themes/BlackV1.0/images/site/ground2.jpg);
	background-repeat: repeat-x;
	background-position: left top;
	background-color: #323232;
}
.ombre_gauche1 {background-image: url(themes/BlackV1.0/images/site/ombre_gauche.png);
	background-repeat: repeat-y;
	background-position: right;
	width: 7px;
}
.ombre_gauche_bouton {background-image: url(themes/BlackV1.0/images/site/ombre_gauche.png);
	background-repeat: repeat-y;
	background-position: right;
	width: 7px;
}
.bouton1 {
	font-family: Verdana, Arial, Helvetica, sans-serif;
	font-size: 10px;
	line-height: 24px;
	color: #CCCCCC;
	height: 24px;
	margin-bottom: 1px;
	background-color: #393939;
	text-align: left;
	vertical-align: middle;
	padding-left: 10px;
	left: -20px;
}
-->
</style>
<script type="text/javascript"> 
// <![CDATA[
function IE_CorrectAlpha_PNG(){ 
for(i=0; i<document.images.length; i++){ 
img    = document.images[i]; 
imgExt  = img.src.substring(img.src.length-3, img.src.length); 
imgExt  = imgExt.toUpperCase(); 
if (imgExt == "PNG"){ 
imgID    = (img.id) ? "id='" + img.id + "' " : ""; 
imgClass= (img.className) ? "class='" + img.className + "' " : ""; 
imgTitle= (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "; 
imgStyle= "display:inline-block;" + img.style.cssText; 
if (img.align == "left") { 
imgStyle = "float:left;"  + imgStyle; 
} else if (img.align == "right"){ 
imgStyle = "float:right;" + imgStyle; 
} 
if (img.parentElement.href)   { 
imgStyle = "cursor:hand;" + imgStyle; 
}        
strNewHTML    = '<span '+imgID+imgClass+imgTitle+' style="width:'+img.width+'px; height:'+img.height+'px;'+imgStyle+';'+'filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=\''+img.src+'\', sizingMethod=\'scale\');"></span>'; 
img.outerHTML = strNewHTML; 
i = i-1; 
}
}
		if ( document.all )
			{
				var images_list = document.getElementsByTagName( '*' );
				for ( var i = 0 ; i < images_list.length; i++ )
					{
						var image_name = images_list[ i ].currentStyle.backgroundImage.replace( /url[s]*()+/, '' );
						image_name     = image_name.replace( /(")+/g, '' );
						image_name     = image_name.substr( 1, image_name.length - 1 );
						image_name     = image_name.substr( 0, image_name.length - 1 );
						if ( image_name.substring( image_name.length - 3, image_name.length ) == 'png' )
							{
								images_list[ i ].runtimeStyle.backgroundImage = "url( './correct_transparent_png.gif' )";
								images_list[ i ].runtimeStyle.filter          = "progid:DXImageTransform.Microsoft.AlphaImageLoader( src='" + image_name + "', sizingMethod='scale' )";
							}
					}
			}
		
		return true;
	}

window.attachEvent("onload", IE_CorrectAlpha_PNG); 
// ]]>
</script> 
</head>
<body>
<table width="100%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td class="header">&nbsp;</td>
    <td rowspan="2" align="left" valign="top" class="logo">&nbsp;</td>
  </tr>
  <tr>
    <td><table width="100%"  border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td width="167" align="left" valign="top"><table width="100%"  border="0" cellpadding="0" cellspacing="0" class="col_gauche">
          <tr>
            <td align="left" valign="top"><table width="100%"  border="0" cellpadding="0" cellspacing="0" class="bouton1">
                <tr>
                  <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
                    <tr>
                      <td>Bouton 1 </td>
                      <td class="ombre_gauche">&nbsp;</td>
                    </tr>
                  </table></td>
                </tr>
              </table>
              <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="bouton1">
                <tr>
                  <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td>Bouton 1 </td>
                        <td class="ombre_gauche">&nbsp;</td>
                      </tr>
                  </table></td>
                </tr>
              </table>
              <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="bouton1">
                <tr>
                  <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td>Bouton 1 </td>
                        <td class="ombre_gauche">&nbsp;</td>
                      </tr>
                  </table></td>
                </tr>
              </table>
              <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="bouton1">
                <tr>
                  <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td>Bouton 1 </td>
                        <td class="ombre_gauche">&nbsp;</td>
                      </tr>
                  </table></td>
                </tr>
              </table>
              <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="bouton1">
                <tr>
                  <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td>Bouton 1 </td>
                        <td class="ombre_gauche">&nbsp;</td>
                      </tr>
                  </table></td>
                </tr>
              </table>
              <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="bouton1">
                <tr>
                  <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td>Bouton 1 </td>
                        <td class="ombre_gauche">&nbsp;</td>
                      </tr>
                  </table></td>
                </tr>
              </table>
              <table width="100%"  border="0" cellpadding="0" cellspacing="0" class="bouton1">
                <tr>
                  <td><table width="100%" border="0" cellpadding="0" cellspacing="0">
                      <tr>
                        <td>Bouton 1 </td>
                        <td class="ombre_gauche">&nbsp;</td>
                      </tr>
                  </table></td>
                </tr>
              </table>
              <p>&nbsp;</p></td>
          </tr>
        </table></td>
        <td align="left" valign="top" class="col_centre"><table width="100%" border="0" cellspacing="0" cellpadding="0">
          <tr>
            <td class="ombre_gauche1">&nbsp;</td>
            <td class="cadre_centre1"><p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p>
                <p>&nbsp;</p></td>
            <td class="ombre_droite">&nbsp;</td>
          </tr>
          <tr>
            <td class="ombre_angle_bas_gauche">&nbsp;</td>
            <td><table width="100%" border="0" cellspacing="0" cellpadding="0">
                <tr>
                  <td class="ombre_bas_gauche">&nbsp;</td>
                  <td class="ombre_bas">&nbsp;</td>
                  <td class="ombre_bas_droite">&nbsp;</td>
                </tr>
            </table></td>
            <td class="ombre_angle_bas_droite">&nbsp;</td>
          </tr>
        </table>          <h2>&nbsp;</h2>
          </td>
      </tr>
    </table></td>
  </tr>
</table>


</body>
</html>
[/i]

Copier_coller à la place de l'index du .rar
Modifié par jacknikolson (13 Oct 2006 - 22:15)
Bonsoir,

Tu devrais vérifié tes découpes...

- Pour ton dégradé noir/gris, tu peux le placer en background de ton "body", tu sélectionnes 1 px de large sur toute la hauteur de ton dégradé et tu le fais répéter en Y.

- Pour la colone de gauche, pareil, refais ta découpe de manière à en tirer le meilleur profit du dégrader, tu places l'image en background de ta colone positionée à droite et répétée en Y

- Pour le dégradé de tes boutons, pareil que pour la colone de gauche.

upload/4466-toshow.jpg
Salut Connexion

désolé mais je ne comprends pas vraiment tes explications...il faut dire que je suis loin d'être pro..... Smiley confus

L'image que tu as posté sous ton message c'est quoi au juste?
Bonsoir, c'est juste un exemple que cela peu fonctionner si tu vérifie tes découpe...

J'ai pris ton fichier .rar, ouvert le fichier HTML, en aie fait un printscreen et l'aie travailler sous photoshop.

Tu as deux dégrader de même couleur "noir/gris", ils sont de même couleur mais dans des sens différents. Cela veux dire que si tu ajustes ta découpe, tu pourras profité du "fondu" dans les partie les plus sombres.

Si par exemple tu avais un dégradé noir/rouge et un vert/jaune... ca l'aurait fait moin bien.

L'image que j'illustre dans mon précédent post, montre que c'est réalisable.

PS: Si tu as un ligiciel graphique te permettant d'ajuster la "luminausité", copie mon image et joues avec la luminausité, je pense que tu comprends surment mieux.
Modifié par Connexion (14 Oct 2006 - 00:47)
Hello jacknikolson,

Désolé, pas trop le temps de récupérer un fichier RAR, le décompresser, modifier le fichier index.html, tester avec divers navigateurs... une page de test directement accessible en ligne aurait facilité la tâche au paresseux que je suis. Smiley cligne

Effectivement, si tu positionnes ton menu en flottant à gauche, pour le décaler ensuite de 7px vers la droite via un positionnement relatif, tu auras un vide de 7px à gauche du menu.

Par contre, positionner le menu en absolu permettrait de le faire surplomber les autres éléments de la page, après quoi il n'y aurait plus qu'à décaler le bloc #centre de largeur du menu -7px, pour obtenir l'effet voulu.

Bien sûr, le bloc #centre aura le dégradé « simple » (dégradé sur couleur de fond de la page, sans prendre en compte le dégradé sur le menu) en image de fond, et sur toute la hauteur, de sorte que le raccord avec le menu se fasse toujours correctement quelle que soit la hauteur dudit menu (dont les items seront, bien entendu, extensibles en hauteur pour prévoir l'agrandissement du texte).
Salut

En reprenant un peu tous les conseils et en mixant à ma sauce j'ai fini par obtenir ce que je voulais.

Grosso-modo, j'ai décalé mon bloc_gauche de 7px vers la droite et j'ai essayé un truc qui semble bien marcher.....
Je me suis dit que j'allais tenter le tout pour le tout et voir si je puvais redécaler toute ma page de 7px vers la gauche pour combler le trou...

body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
	background-color: #353535;
	background-image: url(themes/BlackV1.0/images/site/ground1.jpg);
	background-repeat: repeat-x;
	position: relative;
	right: 7px;
}


ça semble bien marcher.....

Pour la page de test: voila qui est fait:
http://www.vangardis.com/divers/essai_css001/

Sous FF et IE de chez moi ça marche Smiley biggrin
dites-moi si il ya quelque chose à redire sur ma méthode car je suis loin de maitriser toutes les subtilités du css et j'ai peut être fait des âneries....

Sinon, un grand merci à tous pour la patience et l'aide apportée.
Ah oui ça c'est sur....je pense qu'une fois que j'aurais fini le côté mise en place pour le design je passerais le plus de choses en div.

Finalement, à part la colonne centrale où je vais mettre un swf, pour le reste je devrais pouvoir tout faire en div. Tu as raison.

Je vais continuer à fignoler tout ça car je découvre de nouvelles choses en css tous les jours.

Encore merci.
Bonjour,

petites remarques en passant, quand on agrandi la taille du texte sous ffox au quatrième cran (oui ça fait beaucoup, mais le texte est tellement petit à la base, que même avec 4 crans il est pas énorme...) ça donne ça :
upload/3822-polices.jpg

Sous IE, il n'y a que tes <h2> qui se redimensionnent, d'ailleurs, tu n'a aucun <h1>.

Puis, un truc curieux : sous IE quand je redimensionne, toutes les images disparaissent et réapparaissent, bizarre.