28221 sujets

CSS et mise en forme, CSS3

Bien le bonjour,

Je travaille présentement sur un complexe dossier dans lequel se retrouvent des CSS qui s'appellent l'une et l'autre via l'attribut @import. Or, je remarque que des déclarations de style en amont sont interprétées par Firefox, mais pas par ie.

Se pourrait-il qu'il y ait un problème d'héritage des CSS dans ie? Je n'ai personnellement jamais vu de documents relatant cette information. Si quelqu'un connait ce bogue, svp, m'en faire part!

Je viens de faire un test, et voici mes conclusions:

IE n'importe plus après 4 niveaux!

Pour simplifier (j'ai 5 niveaux dans les faits):
J'appelle une CSS spécifique à un module, le niveau 1. Qui elle appelle une CSS spécifique au module parent, qui appelle la CSS du système et finalement la CSS globale de l'image corporative... compliqué, mais efficace.

Eh bien voilà que IE s'arrête avant la dernière, donc les paramètres globaux ne passent pas...

Quelqu'un a déjà vu ça?
Modifié le 31 Jan 2005 - 19:59
gou a écrit :

J'appelle une CSS spécifique à un module, le niveau 1. Qui elle appelle une CSS spécifique au module parent, qui appelle la CSS du système et finalement la CSS globale de l'image corporative... compliqué, mais efficace.

Dans quel but ? Smiley biggol
Administrateur
J'en compte 4 dans ton cas.
C'est vraiment utile de séparer "système" et "image corporative"? Doivent être édités 1 fois/an et par la même équipe, nan?
a écrit :
C'est vraiment utile de séparer "système" et "image corporative"? Doivent être édités 1 fois/an et par la même équipe, nan?


Dans un monde idéal, c'est le cas, dans la réalité, c'est toute autre chose. L'image corporative comporte les informations de tous les systèmes, alors que chaque système a sa propre image découlant de cette image corporative.

Ce n'est effectivement pas la même équipe qui fait le travail, chicanes internes... mais là n'est pas la question.

Ce que je désire savoir, c'est si quelqu'un a déjà vu ce problème d'héritage. Je me lance aujourd'hui sur des tests et vous revient là dessus...
Pour ceux qui veulent tester, j'ai mis une page en ligne. Si vous voyez le fond en rose dans IE, ben, c'est un problème local. Si le fond est blanc, il y a vraiment un problème d'héritage...
gou a écrit :
Pour ceux qui veulent tester, j'ai mis une page en ligne. Si vous voyez le fond en rose dans IE, ben, c'est un problème local. Si le fond est blanc, il y a vraiment un problème d'héritage...


Arf, Thierry : toutes mes excuses pour le mail que je t'ai envoyé il y a peu sur le sujet : en effet, il y a bien un problème d'héritage, ou plutôt de cascade (C'est la confusion entre les deux termes et une lecture trop rapide de ton post qui m'a induit en erreur).

Le problème est commun à IE5.0, IE5.5 et IE6.0 Win
Modifié le 27 Jan 2005 - 21:30
Maintenant, pour en savoir plus sur le pourquoi du comment... il n'y a pas un spécialiste du DOM, ici ? Ne peut-on pas vérifier par ce biais ce qu'IE fait avec les @import ?
(Je dis peut-être une grosse bêtise, mais je n'en suis plus à une près sur ce sujet Smiley cligne )
Je viens de faire quelques tests.
IE ne considère pas la règle d'import comme une règle CSS accessible via document.styleSheets[x].(cssRules|rules)[y]. À la place, IE dispose d'un tableau à document.styleSheets[x].imports (non standard) listant tous les imports effectués dans cette feuille de style.
Je ne sais pas si c'est que tu voulais savoir...

Edit: J'ai tenté un:


document.styleSheets[0].imports[0].imports[0].imports[0].imports[0].rules[0].cssText


Résultat: Une erreur "Mémoire insuffisante" (quand c'est pas un plantage). Pourtant, avec 760 mo et des poussières de ram, je pensais être à l'abri du besoin Smiley lol
Modifié le 27 Jan 2005 - 22:00
a écrit :
IE ne considère pas la règle d'import comme une règle CSS accessible via document.styleSheets[x].(cssRules|rules)[y]. À la place, IE dispose d'un tableau à document.styleSheets[x].imports (non standard) listant tous les imports effectués dans cette feuille de style.


Dans quelle mesure ça donne l'explication du problème? Je connais les CSS, mais pas le DOM ni l'interprétation faite par le fureteur...

Serait-il possible de donner un peu plus d'explications svp? merci.
Pourrait-on comprendre que le mode de gestion des @import d'IE étant plutôt "lourd", il comporterait un mécanisme limitant le nombre d'import ?

Sinon, cela me fait penser, sans grand rapport peut-être, que l'@import IE est déjà très mal implémenté côté possibilité de lister les medias concernés (un seul media accepté, @import ignoré en cas de liste de media, il me semble). Une implémentation décidément baclée ?
Si on se limite au niveau 4, IE applique bien la couleur d'arrière plan (je me prend quand même une erreur "mémoire insuffisante" si je tente des manip. DOM; edit: et un plantage à l'instant). Si on va jusqu'au niveau 5, la couleur n'est pas appliquée et il y a un risque de plantage d'IE (dans le cas de manip. DOM).

je vote pour l'"implémentation baclée".
Modifié le 28 Jan 2005 - 21:25