Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDesign, présent...Design, présent...Gestion de la transparence des PNG sous IEGestion de la transparence des PNG sous IE
Précédente
 
Suivante
Nouveau message
26/03/2007 09:52
 
Bonjour,

J'utilise des images avec de la transparence sur mon site DNN 4.4.1.

J'ai malheureusement découvert que IE 5.5 et 6 ne géraient pas la transparence du PNG de base.

Dans un premier temps j'ai pensé utilisé des gif mais la qualité n'est pas la même je trouve, donc à défaut en utilisant les commentaires conditionnels pour IE, je pense utiliser des GIF pour IE 6 et inférieurs et des PNG pour IE 7 et les autres navigateurs.

En cherchant sur le net je suis tombé sur un tuto :

http://www.siteduzero.com/tuto-3-11629-1-les-png.html

En faisant des tests sur une page html j'ai réussi à utiliser : AlphaImageLoader Filter avec mes images et à tester leur affichage sous IE 5.5 et 6 et ca marche nikel.

Cela donne quelque chose comme ca :

<div style="height: 31px; width: 335px;
  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=image.png');
  background: url(image.png) no-repeat !important;
  background: none;"></div>

Le problème c'est que si je veux utiliser cette méthode dans dotnetnuke cela n'affiche pas l'image sous IE 5.5 et 6. En utilisant le filtre dans ma feuille de style container.css.

J'ai fait le test en mettant le code si dessus dans ma page default.aspx pour voir si cela changerait quelque chose. Pour le coup cela affiche bien mon image sous IE 5.5 et 6 avec la transparence mais dotnetnuke n'utilise plus le skin de ma page.

J'espère avoir été assez clair dans mes explications.

Avez vous une idée, pour réussir à utiliser le filtre AlphaImageLoader de microsoft dans dotnetnuke?

PS : j'utilise le filtre Alpha pour faire de la transparence sur un bloc de text et ca marche bien.

 
Nouveau message
26/03/2007 10:00
 
Salut Julien.

Peux-tu poster ce que tu mets dans ta feuille CSS pour appliquer le filtre ?

Si tu utilise le code tel quel dans DotNetNuke, ca ne fonctionne pas et c'est normal, tu dois utiliser la balise <%=SkinPath %> dans tes SRC (cela te renvoie SkinSide l'url jusqu'à la racine du dossier de ton skin.).

Personnellement j'ai préferré utiliser un script (PNGFIX.JS) qui va tout seul s'occuper de transformer les images en background (CSS ou HTML) et en balise IMG. Tu trouveras ce script sur google. Attention néamoins à bien récupérer la dernière version qui gère les background CSS.

Attention également aux liens A qui se situent sur une image PNG transformée, ils ne seront plus cliquables sous IE.

Tu peux regarder la source de mon site perso (www.takethewave.net) pour le récupérer et voir comment l'inclure dans ton skin.

Seb
 
Nouveau message
26/03/2007 10:32
 
Voici en gros ce que j'essaye d'utiliser dans mes feuilles de style :

.class{
  height: 31px; width: 335px;
  filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/image.png');
  background: url(images/image.png) no-repeat !important;
  background: none;}

Pour ce qui est du script js, j'en ai entendu parlé, je ne savais pas pour la gestion des background en css, j'ai tenté d'utiliser une version mais sans succès. A la base je voulais eviter d'utiliser un script js pour faire ce genre de chose mais si ca marche aussi avec les background en css je vais peut etre essayer de mettre en place la meme solution que toi.

Pour le <%=SkinPath %>, est ce que cela marche en css ou y a t il un equivalaent?

Cordialemet.

PS : julien est mon nom de famile ^^, mon prénom c'est jd ;)
 
Nouveau message
26/03/2007 11:00
 
Pour le pngfix.js, je souhaite le mettre dans le repertoire js de dotnetnuke et l'utiliser dans toute mes pages.

Est ce que je peux l'appeler dans mon default.aspx au lieu de l'appeller dans toutes mes pages ascx?

J'ai bien récupéré ton pngfix.js mais je n'arrive pas à l'utiliser correctement à priori.

J'aiemrais réussir à utiliser la méthode avec pngfix.js et sans si possible. Une fois que j'aurais réussis, je choisierais la solution qui me semble le plus adapté dans mon cas.

Merci de ton aide.
 
Nouveau message
27/03/2007 10:20
 
Salut JD, et pardon de t'avoir appelé Julien :)

Il est déconseillé de modifier Default.aspx, car il faudra faire attention ensuite à reporter toutes les modifications.

La variable <%=SkinPath %> est valable dans les fichiers de type Skin.ascx et Container.ascx uniquement. Autre part cela provoquera un bug.
Si tu places pngfix.js dans le dossier JS root Dnn, tu peux le référencer dans ton skin.ascx ou container.ascx via
<!--[if gte IE 5.5000]>
<script type="text/javascript" src="~/js/pngfix.js"></script>
<![endif]-->

Sans autre modifications de ta part, celui-ci va transformer au moment du OnLoad toutes les zones en Transparence Alpha via le filtre que tu employais manuellement.

Seb
 
Nouveau message
27/03/2007 10:22
 

Bonjour jd,

pas le temps de lire tout le fil de la discussion de ce matin, je vais donc peut être répondre la même chose que d'autres. Je t'innvite à télécharge ce skin : http://www.dnnstudio.fr/Thèmesetcontainers/Noël/tabid/69/Default.aspx que j'ai développé il y a déjà quelque temps. Il gére la transparence des png (voir le sapin en pied de page qui est un png). Regarde si ça peut t'aider

Roland


Roland
 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDesign, présent...Design, présent...Gestion de la transparence des PNG sous IEGestion de la transparence des PNG sous IE