Bonjour à tous,

Je suis en train de me casser la tête sur un problème qui, j'en suis sûr est bête comme chou :
Je dispose de deux div l'un à la suite de l'autre, le deuxième (un footer pour les mentions légales) se met en position: fixed en bas de la page quelle que soit la taille prise par le premier, le premier div devant scroller s'il dépasse la hauteur normale de la page, sans que le scroll déborde sur le footer.

Jusque là, pas de souci avec Firefox, un position: fixed bien placé dans le footer et un overflow dans le premier div, et c'est réglé.
C'était sans compter ces buse d'IE et de CHM (fichiers d'aide windows) qui ne reconnaissent pas position : fixed. Jusqu'à présent, mes tentatives approchant le résultat voulu se soldent par un gros espace en bas du footer.

Je vous livre un exemple :
(Common4IE étant bien entendu inclus via commentaires conditionnels)


<html>
<head>
<link rel="stylesheet" type="text/css" media="screen" href="Common4All.css">
	<script type="text/javascript">
		if (navigator.appName == "Microsoft Internet Explorer") {
			document.write('<LINK rel="stylesheet" href="Common4IE.css" type="text/css" media="screen">');
			onload = function() { document.body.focus() };
		}
    </script>
</head>
<body>
<div id="content">
ceci est le contenu
</div>
<div id="footer">
(c) Machin 1989-2008, all rights reserved
</div>
</body>
</html>


/* Common4All.css */
body {
	font-size: 1em;
	color: #000000;
	background-color: #ffffff;
	margin: 0px 0px 0px 0px;
	padding: 0px 0px 70px 0px;
}
div#content {
	padding: 0px 40px 0px 40px;
	margin: 30px 0px 0px 0px;
	overflow: visible;
}
div#footer {
	height: 40px;
	width: 100%;
	bottom: 0px;
	padding: 2px 0px 0px 0px;
	border-top: 1px solid black;
	background-color: #CED9E0;
	position: fixed;
}


/* Common4IE.css */
body {
	height: 100%;
	margin: 0px 0px 135px 0px;
	padding: 0px 0px 95px 0px;
}
body.bodyParameter {
	margin: 0px 0px 180px 0px;
}
div#content {
	height: 100%; overflow: visible;
}
div#footer {
	padding: 6px 0px 0px 0px;
}


Une suggestion ? Smiley confused

Merci d'avance
Bonjour,

IE7 gère à peu près correctement le positionnement fixe. Pourquoi lui appliquer un correctif?

De plus:
1. Je ne vois pas de Doctype: tu travailles volontairement en mode Quirks? (Chacun ses tendances suicidaires...)
2. Tu devrais utiliser un commentaire conditionnel pour viser IE6 et inférieurs.
3. Je n'ai pas bien compris ce que tu essaie de faire avec la hauteur de div#content et le overflow: visible (c'est la valeur par défaut...).

Mon conseil: travaille en position fixe, dégrade en position statique ou absolue pour IE6, et voilà.
Les astuces pour arriver à un équivalent du positionnement fixe dans IE6 sont à mes yeux peu fiables, difficiles à mettre en place, et peuvent occasionner des dommages collatéraux côté ergonomie (ceci dit, le positionnement fixe aussi, mais dans le cas présent ça ne me semble pas être problématique).
Le code est généré par un outil de gestion de documentation (AuthorIT), je me forme un peu sur le tas... Mais effectivement il n'y a pas de doctype, sauf sur les pages de couverture (HTML 3.2 ?!)

Merci pour le conseil sur le commentaire conditionnel, je testerai ça quand le rush sera passé (j'ai l'impression qu'il y a beaucoup de fichiers à modifier à la fois, ce n'est sans doute pas une bonne idée)

Oui, il se peut que j'aie retapé un overflow visible en perdant de vue que c'était la valeur par défaut, à force d'avoir retourné le problème dans tous les sens...

Le vrai problème vient du fait que je ne sais pas quel moteur de rendu CHM utilise. Est-ce un moteur propre de la famille de IE6 ou utilise-t-il celui de l'IE installé sur windows ?
Et existe-t-il un IE6 standalone que je pourrais installer à côté de IE7 ? (je jette un oeil sur le forum et sur le reste du net...)

On ne m'a pas fait de remarque sur le grand espace vide sous le footer, donc j'imagine que c'était déjà comme ça avant et qu'ils n'en sont pas morts...
Pour le Doctype, il est important d'en avoir un en bonne et due forme. À lire:
http://blog.alsacreations.com/2006/10/23/296-a-propos-du-modele-de-boite-microsoft-ou-quirks

Kyon a écrit :
Le vrai problème vient du fait que je ne sais pas quel moteur de rendu CHM utilise. Est-ce un moteur propre de la famille de IE6 ou utilise-t-il celui de l'IE installé sur windows ?

Je pense qu'il utilise celui de la version d'Internet Explorer intégré au système, donc soit IE 7 (Vista, XP SP2 avec Internet Explorer à jour), soit IE6, voire IE 5.5 sur de très vieux ordis.

Kyon a écrit :
Et existe-t-il un IE6 standalone que je pourrais installer à côté de IE7 ? (je jette un oeil sur le forum et sur le reste du net...)

http://blog.alsacreations.com/2008/01/17/409-installer-differents-navigateurs-pour-tester-vos-pages