12
votes

IE11 déclenche la transition CSS sur la charge de la page lorsque la requête de média non appliquée existe

J'ai une situation qui se produit seulement sur IE11. Chrome, Firefox, Safari (tablette et téléphone) Tous les travaux sont attendus. J'ai créé une transition pour un panneau (DIV) qui glisse dans / sortant de la face. Sur PAGELOAD, il ne devrait pas "animer" mais s'affiche dans la position appropriée. Mais sur IE11, lorsque la page charge la transition est "Lecture" uniquement si une requête de support impliquée dans cet élément correspondant au niveau le plus élevé de spécificité CSS pour le sélecteur. L'étrange chose est que la requête médiatique ne soit même pas appropriée (ne doit jamais être appliquée lorsque la page est chargée dans mon test) .

Le code simple suivant Débitore mon problème: < H1> CSS xxx

html xxx

donc si la taille de la fenêtre du navigateur est supérieure à 800 pixels, la requête de support devrait ne pas être appliqué. Toutefois, IE11 semble agir comme si elle applique la requête des médias, puis revenait à la requête non multimédia CSS qui déclenche réellement la transition. Si le sélecteur de contenu de la requête multimédia ne correspond pas au niveau le plus élevé de spécificité CSS tel que défini en dehors de la requête multimédia, la transition ne sera pas observée à la page Charger (en d'autres termes si mon sélecteur CSS de la requête multimédia était moins spécifique [Dites +. Standard ], vous ne verriez pas la transition "jouée").

Toute idée Comment empêcher cette transition de "lire" à la page Charger à l'aide de IE11 sans avoir à écrire JavaScript? < / p>


0 commentaires

3 Réponses :


1
votes

Pas une solution gratuite entièrement JavaScript, mais vous pouvez ajouter une classe à la page entière de la balise du corps: xxx pré>

et supprimer cette classe une fois la page chargée p>

$("window").load(function() {
    $("body").removeClass("pageload");
});


1 commentaires

Oui, c'était ce que j'essayais d'éviter



18
votes

a travaillé avec Microsoft Support et enregistré un bogue. Il y a une solution de contournement pour ce problème.

au lieu d'utiliser la requête de média xxx

modifie la requête pour être les suivantes: xxx

Ceci ne doit pas être requis (il doit être impliqué) mais la mise en place de la largeur minère dans la requête résout la "lecture" de transition sur la charge de la page. MS devrait le réparer, mais comme il y a une solution de contournement, la probabilité d'un taux de participation rapide est faible.


4 commentaires

Pouvez-vous créer un lien vers le bogue que vous avez soumis avec MS? J'ai un problème similaire.


Cela fonctionne en partie pour mon cas - si la fenêtre est supérieure à 800px, le problème est fixé car il ne chargera aucune requête de support. Toutefois, si la fenêtre est indiquée à 500PX, nous avons besoin que la requête des médias soit chargée dans ce cas, ce qu'elle ne le fait pas, même avec le correctif en place.


J'ai eu un problème similaire mais ma requête médiatique utilisait min-largeur: 768px. Ajout de max-largeur: 4000px n'a pas aidé mais déplacer mon étiquette de style sous le HTML corrigé tout


Vous bénisse pour cette solution Sainte Sainte, j'ai tout débuté pendant des heures et maintenant ça marche ... putain, c'est-à-dire



0
votes

La réponse de User3546826 fonctionne lorsque la fenêtre est supérieure à celle définie max-largeur . Lorsque la fenêtre est inférieure à la transition est toujours animée par IE / Edge. Cela peut être évité avec la solution de contournement suivante (juste un exemple): xxx


0 commentaires