11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

C'est donc mon problème, le framework Prototype ne m'arrondit pas EN TRANSPARENCE les coins d'un DIV, mais il les arrondis bien sinon. Ce problème se pose sur IE6.

C'est-à-dire que les coins de mon DIV ont un petit fond noir en arrière plan.
Je ne rencontre pas ce problème sur un autre site Web mais je ne parviens pas à trouver la différence entre les deux sites et qui change tout.

Voici la simple ligne qui arrondie mes coins :

Rico.Corner.round('ma_div');


Avez-vous connaissance de ce petit problème ?

Merci d'avance Smiley smile
Salut speedev,

Il faudrait peut-etre que tu nous donne plus d'info pour qu'on puisse t'aider, comme des bouts de ton code, voire meme les deux sites que tu compares et ou tu ne voies pas de difference., parce que juste la ligne d'appel c'est leger pour faire du debuggage.

Avec le peu que tu donnes et une recherche google de 30 secondes, j'ai trouve ca : http://demos.openrico.org/demos/corner

Essaye :
Rico.Corner.round('ma_div', {color:"transparent"});
C'est pas évident de vous donner plus de code, ça peut aussi bien être lié au CSS, qu'au XHTML ou même aux autres fonctions javascript qui interviennent sur la même DIV (eventlistener etc...). Avant de vous passer quelques briques de code événtuelles, j'voulais savoir si quelqu'un a déjà rencontré ce problème et s'il y avait une solution toute prête Smiley smile .

J'avais vu le lien que tu as donné K-feine, mais quand on le teste sur IE6, aucun problème de transparence n'apparait sur aucun des éléments présentés. color:"transparent" ne résoud pas mon problème.

Je posterai un peu de code ce soir si je ne trouve pas de solution entre temps. Merci de ta réponse K-feine !
speedev a écrit :
C'est donc mon problème, le framework Prototype ne m'arrondit pas EN TRANSPARENCE les coins d'un DIV, mais il les arrondis bien sinon. Ce problème se pose sur IE6.


Alors deux choses:

1. Il ne s'agit pas de Prototype mais de Rico (qui certes utilise Prototype, mais ce n'est pas une fonction de Prototype qui est utilisée ici).

2. Il faudrait effectivement examiner quels éléments sont générés, quelles images sont utilisées, et quelles propriétés CSS (y compris les filter et autres joyeusetés propriétaires) sont appliquées dynamiquement. Bref, comprendre le fonctionnement du script JS utilisé pour le débuguer sous IE6.

Un conseil tout de même: laisser de côté ces scripts JS qui génèrent des centaines de DIV ou SPAN pour simuler des coins arrondis. C'est casse-gueule (comme on peut le constater dans le cas présent), lourd en termes de performances, chiant à maintenir. Les deux solutions fiables pour les coins arrondis sont:
- border-radius (compatible FF et Safari uniquement, donc à considérer comme un bonus sympathique et pas un élément indispensable du design);
- des images de fond.
Oui effectivement c'est bien de Rico dont je veux parler, je me suis mal exprimé.

J'avais testé Rico pour ne plus m'embêter à créer des bords arrondis sur IE.
Et faut dire que j'en suis satisfait, ça marche très bien sur l'un de mes sites. Pas de chance ici...et c'est vrai que niveau maintenance, faut mettre le nez dans le code et ce n'est pas très agréable.
Mais Rico n'est pas si gourmand que ça en ressource. En tout cas je ne l'ai pas remarqué (faut dire que j'utilise un cache et une compression de chaque langage utilisé Js / Css /xhtml).

Pour info je n'utilise plus -moz-border-radius (ni même border-radius), j'en avais un peu la flemme de faire créer les coins arrondis sur IE6 pour avoir un aspect du site parfaitement similaire sur TOUS les navigateurs.

La meilleure solution à aujourd'hui reste encore de créer soi-même les bords arrondis et de jouer du CSS mais si je trouve la solution à mon Coco Rico, je vais le conserver...
Smiley smile
Modifié par speedev (26 Nov 2008 - 12:21)
speedev a écrit :
avoir un aspect du site parfaitement similaire sur TOUS les navigateurs

À quoi ça sert? Smiley sweatdrop
à me sentir fier de moi Smiley murf (non non je ne suis pas un acharné du W3C et de toutes les techniques de hacks imaginables pour arriver à mes fins, j'essaye juste de faire en sorte que... Smiley smile )