28173 sujets

CSS et mise en forme, CSS3

bonjour la communauté alsacréations ! Smiley coucou

je viens de mettre en ligne une nouvelle version de mon site, HTML4.01 et CSS, plus un peu de JS et de PHP.
testé et fonctionnant parfaitement chez moi sous FF et IE (une version qui date un peu), il s'avere qu'au bureau c'est la cata sous IE6.
je retourne le probleme dans tous les sens depuis 2h, mais rien à faire...

le souci est visible sur les popups depuis cette page :

photos



le code :

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
	<head>
		<title>Light and Magic</title>
		<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                <link rel="shortcut icon" type="image/x-icon" href="ressources/favicon.ico">
		<link href="ressources/style.css" rel="stylesheet" type="text/css">
	</head>




<body>
<?php
 
////

	?>


<div id="conteneurphoto">

<div id="thumbphoto">
<div id="fond1">
<a href="portraits.php?img=0"><img src="mini/portraits00.jpg"></a>
<a href="portraits.php?img=1"><img src="mini/portraits01.jpg"></a>
<a href="portraits.php?img=2"><img src="mini/portraits02.jpg"></a>
<a href="portraits.php?img=3"><img src="mini/portraits03.jpg"></a>
<a href="portraits.php?img=4"><img src="mini/portraits04.jpg"></a>
<a href="portraits.php?img=5"><img src="mini/portraits05.jpg"></a>
<a href="portraits.php?img=6"><img src="mini/portraits06.jpg"></a>
<a href="portraits.php?img=7"><img src="mini/portraits07.jpg"></a>
<a href="portraits.php?img=8"><img src="mini/portraits08.jpg"></a>
<a href="portraits.php?img=9"><img src="mini/portraits09.jpg"></a>
<a href="portraits.php?img=10"><img src="mini/portraits10.jpg"></a>
<a href="portraits.php?img=11"><img src="mini/portraits11.jpg"></a>
<a href="portraits.php?img=12"><img src="mini/portraits12.jpg"></a>
<a href="portraits.php?img=13"><img src="mini/portraits13.jpg"></a>
<a href="portraits.php?img=14"><img src="mini/portraits14.jpg"></a>
<a href="portraits.php?img=15"><img src="mini/portraits15.jpg"></a>

<img src="ressources/bas.gif" style="margin-left: -15px; margin-top: -10px;">
</div>
<br>


<div id="naviphoto">



			<?php
	////
			?> 


</div>
<br>

<div id="naviphoto">

			<?php
	////
			?>

</div>
</div>
<div id="mainphoto">

  <div id="photo">
<table>
<tr>
<td width="600px" height="540px" align="center">

						<?php
      ////
						?>
</tr>
</td>
</table>
  </div>

  <div id="commentaire">

						<?php
  ////
						?>
  </div>
</div>

</div>
</body>
</html>



et la feuille de style concernée :


div#conteneurphoto{
position: absolute;
top: 0;
left: 50%;
margin-left: -400px;
width: 800px;
height: 600px;
padding: 0;
background-color: #FFF;
}

div#thumbphoto{
float: left;
width: 190px;
height: 560px;
margin: 0;
padding-top: 40px;
padding-left: 20px;
background-color: white;
}

div#fond1{
background: url(haut.jpg) top left no-repeat;
padding-top: 40px;
padding-left: 15px;
}


div#thumbphoto img{
margin: 0;
padding: 0;
border: none;

}

div#thumbphoto a{
float: left;
display: block;
heigth: 45px;
width: 45px;
margin: 2px;
padding: 0;
border: 1px solid white;
}

div#thumbphoto a:hover{
border: 1px solid #999999;
}



div#naviphoto a{
width: 100%;
text-align: center;
text-decoration: none;
font-family: Helvetica, "Trebuchet MS", sans-serif;
font-size: 11px;
font-weight: bold;
color: #999999;
border: none;
}

div#naviphoto a:hover{
color: #333333;
border: none;
}


div#mainphoto{
float: left;
width: 580px;
height: 100%;
margin: 0 0 0 0px;
padding: 0;
}

div#photo{
height: 570px;
margin: 0;
padding: 0;
background: url(trait.jpg) bottom center no-repeat;
}


div#commentaire{
text-align: center;
margin: 0;
padding: 0;
}


div#commentaire{
font-family: "Trebuchet Ms", Helvetica, sans-serif;
font-size: 11px;
}


le probleme semble venir de :
div#thumbphoto a{
display: block;
float: left;
}

je pourrais m'en passer, mais ca m'arrange quand meme beaucoup pour l'effet de survol des miniatures...

si qqn pouvait m'aider, ca m'arrangerait rudement!! Smiley sweatdrop

merci d'avance Smiley smile
Modifié par nico. (25 Apr 2007 - 13:21)
Bonjour nico. et bienvenue sur Alsacréations Smiley smile ,

nico. a écrit :
je retourne le probleme dans tous les sens depuis 2h, mais rien à faire...


Bon, peut-être que ton ton problème est dû au "display: block;
et float: left;" comme tu le dis mais en attendant je constate que tu as 20 erreurs de validation pour ton html :

upload/9302-erreurs-htm.png
ainsi qu'une erreur de dans code css (sur ton "div#thumbphoto a" comme par hasard) :

upload/9302-erreurs-css.png

J'imagine (outre le fait qu'il est toujours mieux d'avoir un code propre et valide) que régler ces erreurs te permettra peut-être de trouver la solution. Smiley cligne

ps : Sinon, graphiquement parlant, j'aime encore bien l'interface générale.

Info : Ah oui, je ne sais pas si c'est voulu mais j'ai remarqué que toute ton interface est légèrement déplacée vers la gauche alors qu'il me semble que tu aurais voulu la centrer.

re-ps : Je suis tombé sur une des pages de ton site qui présentent les deux logos du W3C qui veulent dire que le site sur lequel ils figurent est valide css et html. Dans le contexte d'invalidité actuel de ton site ça te ne rend pas le tout très crédible, c'est à toi de voir mais pour moi, autant mettre ce genre de logo quand le site est vraiment valide. Smiley smile
Modifié par touvert (22 Apr 2007 - 19:34)
merci touvert de te pencher sur mon cas Smiley smile

j'étais bien passé par la case "validator", mais j'avais vérifié uniquement l'index...

bon j'ai corrigé les erreurs html et css, les seules qui restent sont les "attribut ALT non spécifié" pour les miniatures... je corrigerai c'est promis, mais ca résoudra pas mon probleme...

Smiley sweatdrop

Smiley edit
merci pour tes commentaires, l'interface déplacée vers la gauche est normale, c'est un recentrage de derniere minute pour les 800*600... j'avais la flemme de chercher plus loin...
les logos w3c sont un peu déplacés effectivement, disons que j'avais prévu que la nouvelle version soit valide, comme l'était l'ancienne.
Modifié par nico. (22 Apr 2007 - 19:41)
nico. a écrit :
bon j'ai corrigé les erreurs html et css


mais ca résoudra pas mon probleme...

Smiley sweatdrop


Ok, heu, sinon un "height:auto" sur ton "div#thumbphoto" ça va pas mieux ? Enfin bon, je peux pas non plus trop m'y investir parce que j'estime ne pas être encore assez bon dans le domaine pour donner LA solution qui règlerait tout.

a écrit :
l'interface déplacée vers la gauche est normale, c'est un recentrage de derniere minute pour les 800*600... j'avais la flemme de chercher plus loin...


Ah bon Smiley confus , parce que j'ai regardé avec la webdevelopper tool bar en 800 x 600 et apparement, tu as encore un beau scroll horizontal Smiley murf

Smiley cligne
bah non, le height:auto ne résoud rien... Smiley decu

je sais pour le scroll bar, je m'attaquerai à ce probleme là quand le site sera fonctionnel. Smiley cligne
Modérateur
bonjour,

2 problemes au moins se cumulents.

1 ) le layout sur le conteneur
div#fond1
donner par exemple une valeur de de width :175px.
L'affichage va legerement s'ameliorer.

2) probleme de flottant (double-marge) et debordement des images de ceux-ci .

ajouter un display:inline; au elements <a> en flottant qui aura pour effet d'eviter le bug de double marge sur la marge coté flottant
Appliquer aux image contenu aussi la valeur float:left;

.. l'element <a> est capricieux dans IE , en mettant aussi l'image en float le conteneur et le contenu iront occupé (seront reproduits) a l'ecran (dans) la même zone , que l'image deborde alors de son conteneur ou non n'aura plus l'effet secondaire d'aller la positionné plus loin en cumulant interligne et bug de double marge de façon quasi aleatoire .

GC


voici donc ce qui devrait faire l'affaire :
div#fond1{
background: url(haut.jpg) top left no-repeat;
padding-top: 40px;
padding-left: 15px;
width: 175px;
}


div#thumbphoto img {
margin: 0;
padding: 0;
border: none;
float:left;
}

div#thumbphoto a {
float: left;
display: inline;
height: 45px;
width: 45px;
margin: 2px;
padding: 0;
border: 1px solid white;
}
quelle classe Smiley lol

ca marche au poil, merci GC!

à part que maintenant, sous FF, une partie de mon fond haut.jpg disparait sous les miniatures...
une idée? Smiley sweatdrop

et dernier détail, sous IE les liens "photo suivante" et "photo précédente" sont espacés plus que de raison... j'ai bien essayé de donner une hauteur fixe aux liens, aux div qui les contiennent, ainsi que des marges et padding à 0.
bah ca marche pas...
alors j'en appelle encore à votre savoir.
Smiley jap
Modérateur
bonjour,

maintenant le soucis est au difference de comportement avec les flottants.

firefoxe n'englobe pas les contenu flottants , il debordent de leur parents sans les etirés. alors que l'opposé se passe dans IE (regles generales et pas systematiques pour IE .. ni ff ).

Generalement un : overflow:hidden; suffit a forcer l'englobage tant qu'il n'y a pas de hauteur specifiée cette regle passe generalement bien .

ex:

div#fond1{
width: 175px;
background: url(http://www.lightandmagic.fr/photo/ressources/haut.jpg) top left no-repeat;
padding-top: 40px;
padding-left: 15px;
overflow:hidden; /* englebe les flottants */
}


Le deuxieme point , assez similaire , donne le resultat voulu dans ff alors que IE serait plus proche de la réalité.

En effet :
un div contenant un flottant , qui est suivi dans br devrait en principe occupé une premiere ligne par le texte du lien (qui flotte) puis en inserer une suivante pour le br , 2 lignes par liens.

Dans ff le flottant n'est pas englobé par le div , div qui est en quelquesorte vide et qui se reduit a 0 de hauteur ! (alors que dans IE un element block vide fait 1em minimum de hauteur).

Le br , alors se positionne a la hauteur de l'element flottant car aucun contenu ne le repousse plus bas .

En enlevant les 2 br en trop , l'affichage sera alors le même dans les 2 navigateurs .. les div sont même inutiles , les balises <a> peuvent même recevoir l'id de leur conteneur et garder leur positionnement en flottant ou en block.

GC
bonjour et encore merci à toi Smiley lol

effectivement, tout fonctionne parfaitement maintenant!

(va falloir que je bosse mes flottants moi... Smiley biggol )

merciiiiiiii !!