28172 sujets

CSS et mise en forme, CSS3

Bonjour,

Je viens de constater (et je ne sais suite à quoi) que mon site n'affiche plus que l'image de fond sous IE7, 8 et 9.

Pas de problème d'affichage sous Firefox, Chrome et Safari. J'avoue être étonné pour IE9 mais quoi qu'il en soit, je ne peux pas me permettre d'afficher un fond uni, y compris pour IE 7 et 8.

Vu que le code source est chargé correctement, cela vient donc probablement d'une feuille de style mais où identifier le problème ?

Merci pour ceux qui auraient une idée.

L'url du site : http://bit.ly/dEe2H5
Modifié par chatlumo (12 Apr 2011 - 20:40)
C'était finalement une boucle conditionnelle (pas dans les css) qui avait cet effet.
Il y a avait
< ![endif]-->
au lieu de :
<![endif]-->
Oh mon dieu le contenu de ce <head>!
Quelque chose comme 20 CSS et 30 JS appelés. L'apocalypse version code HTML!
Trois librairies JS cumulées: Prototype (+ Scriptaculous), YUI et jQuery!

...

Désolé, je réagis un peu vivement, mais il faut comprendre, c'est le choc.

...

Bon, pour essayer d'être constructif, je vois trois sources de problème possibles:

1. Un problème de performances. Les navigateurs ont tendance à bloquer l'affichage de la page ou de contenus de la page (n'affichant qu'une page blanche ou un fond) lorsqu'ils sont encore en train de charger des feuilles de styles, ou pire encore de charger des scripts appelés dans le <head> (ces derniers bloquant à coup sûr l'affichage de la page). Comme tu as plein de scripts et fichiers CSS, et que les anciennes versions des navigateurs font maximum deux requêtes en parallèle, tu peux très facilement te retrouver avec une page blanche pendant dix, vingt ou même trente secondes d'attente. Ouille, bobo.

2. Un problème de styles CSS spécifiques à IE et qui seraient un peu trop agressifs. Tu as de multiples correctifs pour IE, pour différentes versions, déclarés en plusieurs endroits. Certains sont des scripts JS censés apportés des fonctionnalités avancées à Internet Explorer. Il est possible que certains de ces styles ou scripts correctifs pose problème, et comme tes outils de développement les plus efficaces sont dans d'autres navigateurs (Firebug, Web Inspector), autres navigateurs qui ne voient pas ces styles ou scripts, ça peut être difficile de trouver la source exacte du problème.

3. De bons vieux bugs de syntaxe JavaScript, ou des appels à des objets JavaScript non encore déclarés, ou des tentatives de modification du DOM au mauvais moment... ou autres erreurs JavaScript qui peuvent bloquer le rendu de la page. Ça me semble être l'explication la plus probable. Il faudrait donc, en premier lieu, voir du côté des erreurs JavaScript dans les versions d'IE concernées.
Comme indiqué c'est résolu Smiley cligne
Mais effectivement beaucoup de css et js qui en principe sont fusionnés mais pour le débug ont été "séparées".

Merci !
chatlumo a écrit :
Mais effectivement beaucoup de css et js qui en principe sont fusionnés mais pour le débug ont été &quot;séparées&quot;.

Même si tu concatènes les scripts et les appelle en bas de page plutôt que dans le <head>, il reste qu'exploiter 3 librairies différentes plutôt qu'une est une bêtise qui multiplie facilement par deux le poids des scripts. Je suppose que c'est dû à l'utilisation de plugins Magento divers et variés.
Effectivement ce n'est pas vraiment un choix, mais j'ai pu quand même enlever une librairie Smiley cligne
Merci pour les conseils.