2010-09-14 3 views
0

Je veux faire la position d'un div fixé en bas à droite d'une page .. (une boîte de discussion) .. comment faire cela à travers un fichier css qui fonctionnera sur tous IE6/7/8 et mozilla .... pour l'instant j'aiPosition: fixe pour travailler sur IE 6/7/8 et mozilla

#chatBox { position: fixe; en bas: 0%; right: 1%;} Cela ne fonctionne pas sur IE..et ma contrainte est que je suis juste autorisé à éditer ce fichier CSS (donc je ne peux pas mettre le html en mode strict aussi). Les solutions de contournement que j'ai trouvées sur le Web parlent juste de position w.r.t au dessus de la page pas au fond.

grâce Mohan

Répondre

1

Vous pouvez corriger IE avec des expressions CSS. Servir ce qui suit à IE avec conditional comments:

/* smooths out the IE expression scroll - foo doesn't need to exist */ 
body{ 
    background:url(foo) fixed; 
} 

/* fixed scrolling element */ 
#bottom-fixed-element { 
    position: absolute; 
    right: 0; 
    top: expression(
     document.body.scrollTop + document.body.clientHeight - this.clientHeight 
    ); 
} 

Si vous n'êtes pas en mesure de modifier la source d'inclure un commentaire conditionnel, vous pouvez vous déplacer avec hacks CSS, mais pas recommandé:

#bottom-fixed-element { 
    position: fixed; 
    bottom: 0; 
    right: 0; 

    _position: absolute; 
    _top: expression(
     document.body.scrollTop + document.body.clientHeight - this.clientHeight 
    ); 
} 

Modifier

Si vous avez besoin pour soutenir les bizarreries et le mode standard, vous pouvez tester dans l'expression:

+0

merci pat pour la réponse .. il fonctionne parfaitement bien .... Pouvez-vous m'expliquer gentiment la signification des attributs clientHeight et scrollTo et this.clientHeight .... J'ai essayé googling it mais n'ai pas obtenu une réponse convoquée. Désolé pour être paresseux .... Merci Mohan – user439521

+0

Bien sûr, 'document.body.scrollTop' est la position de défilement actuelle de la fenêtre. 'document.body.clientHeight' est la hauteur actuelle de la fenêtre. 'this.clientHeight' est la hauteur actuelle de' # bottom-fixed-element'. – Pat

+0

hey pat ... le schéma ci-dessus fonctionne pour les divs simples mais pour les divs compliqués comme ceux qui peuvent avoir plusieurs éléments en eux ... ne fonctionne pas .. mes sites URL est http://aagmgyd6.yahoo.joyent.us /chat/index.html .... ici la boîte de chat en bas à droite ne se fixe pas dans sa position ... sur IE ..si possible, pouvez-vous s'il vous plaît regardez-le .. (je sais que c'est trop demander mais je suis coincé gros temps pour les dernières semaines ici). – user439521

Questions connexes