28172 sujets

CSS et mise en forme, CSS3

Salut,

J'ai un gros décalage dans IE6 apparement Smiley ravi

Donc j'ai commencé à préparer une feuille de style pour mosieur ie6 mais je ne trouve pas la solution ...

Une partie du code html :


<body>
<div id="global">

<div id="evitement">
<ul>
<li><a href="index.php?page=accueil" title="Accueil du site">Accueil</a> /</li>
<li><a href="index.php?page=accessibilite" title="Accessibilité du site">Accessibilité</a> /</li>
<li><a href="index.php?page=plan" title="Plan du site">Plan du Site</a> /</li>
<li><a href="index.php?page=devis" title="Devis">Devis</a> /</li>
<li><a href="index.php?page=contact" title="Pour nous contacter">Contact</a></li>
</ul>
</div>

<div id="header">
<div class="logo"><img src="visuels/logo.png" alt="Logo" width="241" height="100" /></div></div>
			

<div id="gauche">
<div id="menu">
	<ul>
	<li><a id="lien1" href="index.php?page=" title=""></a></li>
	<li><a id="lien2" href="index.php?page=" title=""></a></li>
	<li><a id="lien3" href="index.php?page=" title=""></a></li>
	<li><a id="lien4" href="index.php?page=" title=""></a></li>
	<li><a id="lien5" href="index.php?page=" title=""></a></li>
	</ul>
</div>
</div>

<div id="droite">
<div class="devis">
<a href="http://index.php?page=devis"><img src="visuels/devis.png" alt="Devis" width="76" height="78" /></a></div>
<div class="contact">
<a href="http://index.php?page=contact"><img src="visuels/contact.png" alt="Pour nous Contacter" width="64" height="64" /></a></div>
</div>

<div id="centre">

<div id="visio"><img src="visuels/visio.png" alt="EN cours" width="497" height="253" /></div>

<h2>Blabla !</h2>
<p>Blablablabla</p>
</div>

<div id="footer"><div class="foot"></div></div>

</div>

</body>


Et une partie du code CSS :


* {
	margin:0;
	padding:0;
}	
	
body {
	font-family: "Trebuchet MS", Arial, Heveltica, sans-serif;
	margin: 0;
	padding: 0;
	background-image:url(visuels/mur.jpg);
	background-repeat:repeat;
	background-color:#fff;
}
#global {
	width:926px;
	margin-left: 20px;
	margin-top: 20px;
	background-image: url(visuels/global.png);
	background-repeat: repeat-y;
	background-position: 291px 0px;
}
#header {
	height: 100px;
	background-image: url(visuels/header.png);
	background-repeat: no-repeat;
	background-position: 291px 0px;
}
.logo {

}

#visio {
margin: 0;
padding: 0;

}

#centre {
	margin-top: -50px;
	margin-left: 312px;
	margin-right: 117px;
}
#gauche {
	float:left;
	width: 312px;
}
#menu {
	height: 196px;
	background-image: url(visuels/menu.png);
	background-repeat: no-repeat;
	margin-top: 20px;
	margin-left: 73px;
}
#droite {
	float:right;
	width: 117px;
}
.devis {
margin-top: 94px;
margin-left: 40px;
}

.contact {
margin-top: 47px;
margin-left: 52px;
}
#footer {
	clear:both;
	height: 20px;
	background-image: url(visuels/footer.png);
	background-repeat: no-repeat;
	background-position: 291px 0px;
}
.foot {
	padding-bottom: 80px;
}


Voyez vous l'erreur ?

Cela vient de #visio ou #centre ... ?

MErci Smiley smile
Modifié par yank (05 Jun 2009 - 13:36)
Heyoan a écrit :
Salut,

ça ressemble beaucoup à un problème de contexte de formatage.

Au passage il est déconseillé d'utiliser le reset global comme tu le fais : lire cette astuce.

Désolé je n'ai pas toujours pas trouvé la solution, en + je n'ai pas accès à IE6 sauf par browsershots donc c'est un peu galère ... Smiley ohwell

Si quelqu'un veut bien jeter un pti oeil avec IE6 si possible pour m'aider à trouver le problème ...


MErci
Modifié par yank (05 Jun 2009 - 13:31)
Il faut dire que ta structure est un peu compliquée (essentiellement à cause des marges négatives). Pourquoi ne pas faire tout simplement 3 colonnes ou un DIV #header suivi de 3 colonnes ?

Pour le H1 il serait plus logique (et plus efficace) de te servir de l'image du logo avec le alt qui va bien, ce qui permettrait de conserver l'information en cas d'images désactivées/indisponibles (cf. cet article sur Blog & Blues).
Heyoan a écrit :
Il faut dire que ta structure est un peu compliquée (essentiellement à cause des marges négatives). Pourquoi ne pas faire tout simplement 3 colonnes ou un DIV #header suivi de 3 colonnes ?


Pourtant il me semble que c'est bien ce que j'ai fais ... ?

Div Header + 3 colonnes ...

Sinon pour le h1, je note Smiley cligne
yank a écrit :
Pourtant il me semble que c'est bien ce que j'ai fais ... ?
Oui... je n'ai pas été très clair. Smiley murf

Ce que je voulais dire c'est qu'un seul bloc conteneur suffirait avant tes colonnes (et avec l'astuce du H1 le DIV #header ne sert plus à rien). Du coup tu n'as plus à remonter les colonnes à l'aide de marges négatives (qui posent problème) puisqu'elles sont déjà à bonne hauteur, juste en dessous des liens d'évitement. Pour positionner le H1 (lien+logo) il suffit ensuite d'utiliser le positionnement absolu.
Heyoan a écrit :
Oui... je n'ai pas été très clair. Smiley murf
Ce que je voulais dire c'est qu'un seul bloc conteneur suffirait avant tes colonnes (et avec l'astuce du H1 le DIV #header ne sert plus à rien). Du coup tu n'as plus à remonter les colonnes à l'aide de marges négatives (qui posent problème) puisqu'elles sont déjà à bonne hauteur, juste en dessous des liens d'évitement. Pour positionner le H1 (lien+logo) il suffit ensuite d'utiliser le positionnement absolu.


J'ai essayé cette méthode mais toujours le même problème dans ie6 ...

Apparement ya un soucis avec ma Div Global par rapport au background qui se répète en y ...

Enfin en tout cas j'ai des choses bizarres à l'écran Smiley lol , c'est comme si mon image d'arrière plan dans Global (qui ne fait que 497px de large et se répète en y) faisait en fait 926 px de large, j'ai l'impression qu'elle prend toute la largeur de la Div ... d'où l'effet bizarre d'avoir un espèce de biseau sur les côtés de ma Div Global, je vais y arriver Smiley biggol

Pourtant au niveau structure, à part les Div Fixed, le reste est assez banal ... je n'ai jamais eu autant de "pétage" de Div dans Ie ...
Modifié par yank (05 Jun 2009 - 03:21)
Tu pourrais mettre cette nouvelle version en ligne ?


Edit: un petit test à cette adresse...
Edit2: page de test supprimée.

Et quelques remarques :
* il faudrait remplacer les images en background de tes liens à gauche par des vraies images avec alt car en l'état c'est inaccessible.
* pourquoi avoir mis l'image de fond de #center sur #global ? Cela t'oblige à plein de contorsions dont l'utilisation de positionnement absolu sur #evitement...
* toujours au sujet de ce fond de #center tu as, en plus du background sur global, le haut du cadre sur #header et un div vide (#footer) pour le bas du cadre... or ces images sont inutiles puisqu'il suffit de mettre un fond blanc à #center ainsi qu'une bordure noire de 1px et une rouge en bas de 5px. Smiley rolleyes
* à quoi sert le formulaire sans INPUT submit ?
* plus globalement il faudrait relire le guide du positionnement CSS qui insiste sur le fait de laisser autant que possible les éléments dans le flux : parce que c'est plus simple mais aussi parce que c'est plus robuste. Smiley cligne
Modifié par Heyoan (08 Jun 2009 - 16:11)
Heyoan a écrit :
Tu pourrais mettre cette nouvelle version en ligne ?


Salut,

Merci pour ton aide et tes conseils, ça colle parfaitement maintenant Smiley lol

Je passe par total validator pour voir un aperçu de ma page dans Ie6, à priori ça à l'air de le faire Smiley smile

Je me demande juste si le script pour png transparent fait bien son boulot par contre, si quelqu'un dispose d'Ie6 pour jeter un oeil (Le menu + devis et contact + logo + falaise sont en png transparent.)

Merci
Smiley biggrin
Modifié par yank (05 Jun 2009 - 23:55)
yank a écrit :
Je passe par total validator pour voir un aperçu de ma page dans Ie6, à priori ça à l'air de le faire
Yep.

Et si tu es sous windows tu pourrais installer IETester ou MultipleIE.
Heyoan a écrit :
Yep.

Et si tu es sous windows tu pourrais installer IETester ou MultipleIE.

Oui c'est ce que j'ai fait hier soir ^^

Mais la je suis sur Mac donc pas possible Smiley ravi