2010-10-07 5 views
1

Ceci est une question de suivi sur de ce fil: CSS Semi-fixed Element?CSS élément semi-fixe - question de suivi

I mis en œuvre la solution de Kelso et il fonctionne parfaitement sur Firefox et Chrome. Cependant, IE 8 ne joue pas à la balle.

J'ai roulé le code afin que vous pouvez voir le problème que j'ai sur un site Web en direct: Gran Via hotels

IE est à l'écoute des événements de défilement mais ne se déplace pas la div que l'utilisateur fait défiler vers le bas la page . Il semble que la ligne suivante ne fait rien dans IE:

d.css({ position: "fixed", top: "0px" }); 

La première ligne évalue également à -2 dans IE alors que dans Firefox, il est 377.

var scrollerTopMargin = $("#scroll-container").offset().top; 

Je ne suis pas expert en CSS et m'ont tiré les cheveux dessus. Il doit y avoir une solution simple! S'il vous plaît aider!

Merci Ben

+0

Le comportement fixe est bizarre, je ne peux pas voir tout le pied de page car la barre latérale est au dessus ..! Je ne suis pas d'accord avec ce style. – MatTheCat

+0

C'est bizarre parce que ce n'est pas complet. Il devrait s'arrêter au pied de page aussi. Personnellement, je l'aime. Aussi, je l'ai vu utilisé dans un certain nombre de sites. –

Répondre

0

IE n'aime pas votre doctype et est en cours d'exécution avec le mode Quirks activé. c'est pourquoi ça ne marche pas.

Essayez celui-ci et voir si cela fonctionne:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
+0

Merci Alin, en changeant pour ce doctype fonctionne mais validator.w3.org rapporte 402 erreurs de page (la page a actuellement deux erreurs). 4.01 strict donne seulement 15 erreurs donc va aller avec cela: – Ben

+0

Merci Alin, en changeant à ce doctype fonctionne mais validator.w3.org rapporte 402 erreurs (le HTML de transition a 2 erreurs). L'utilisation de 4.01 strict ne donne que 15 erreurs. Lorsque vous faites défiler vers le bas de la page, la div se déplace bien, mais quand je reviens au début de la page, la div couvre l'en-tête parce que le "var scrollerTopMargin = $ (" # scroll-container "). line renvoie -2 ... des idées? – Ben

+0

Non :). Commencez le débogage. –