Comment obtenir des CSS «fixes: fixes» pour fonctionner dans IE 7+ avec un doctype TRANSITIONAL?

StackOverflow https://stackoverflow.com/questions/1628265

Question

Je sais que position: fixed; n'a pas été pris en charge par IE avant IE 7 et ne fonctionne dans IE 7 que si vous avez un STRICT DOCTYPE .

Ma question est la suivante: "Comment le faire fonctionner avec IE 7 avec DOCTYPE TRANSITIONNEL ?"

Ne suggérez pas de changer un DOCTYPE , car cela ne répond pas à ma question, merci.

Était-ce utile?

La solution

Vous n'avez pas besoin d'un DOCTYPE strict pour la prise en charge de fixed . Vous avez uniquement besoin d’un DOCTYPE qui déclenche le Mode Standards (ou # # 8216; presque Standard & # 8217 ;). Cela peut être un doctype de transition tel que:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

ou XHTML:

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

tant que l'ID système (l'URI à la fin) est inclus.

Si vos pages s'appuient réellement sur le mode Quirks (ouais!), désolé, vous ne pouvez pas utiliser fixed et devrez recourir à des hacks JavaScript (mais alors vous pourriez avoir besoin de ceux pour IE6 de toute façon).

Autres conseils

La position fixe ne fonctionne pas pour moi, même avec les types de document transitoire / strict. Cependant, j'utilise IE9 en mode de compatibilité et cela est supposé rendre en utilisant les bibliothèques d'exécution IE8. Pour résoudre ce problème, je devais ajouter le CSS suivant à element.

.elementToBeFixed {
    position: fixed;
    top: 0;
    left: 0;
}

Cela ne fonctionne pas si Top ou Left est manquant, vous devez les définir explicitement à zéro (ou à la valeur souhaitée) pour que cela fonctionne dans toutes les versions d'IE .... Inutile de dire que IE est nul.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top