IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

HTML Discussion :

Afficher un png en background d'une cellule


Sujet :

HTML

  1. #1
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut Afficher un png en background d'une cellule
    Bonjour à tous

    J'ai une page sur laquelle je veux afficher des png transparent. J'ai des problèmes pour les afficher dans Internet Explorer. J'ai utilisé ce code trouvé sur internet
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    function correctPNG()
    {
     
    for(var i=0; i<document.images.length; i++)
    {
    	var img = document.images[i]
    	var imgName = img.src.toUpperCase();
    			alert(imgName);
     
    	if (imgName.substring(imgName.length-3, imgName.length) == "PNG")
    	{
    		var imgID = (img.id) ? "id='" + img.id + "' " : ""
    		var imgClass = (img.className) ? "class='" + img.className + "' " : ""
    		var imgTitle = (img.title) ? "title='" + img.title + "' " : "title='" + img.alt + "' "
    		var imgStyle = "display:inline-block;" + img.style.cssText
    		if (img.align == "left") imgStyle = "float:left;" + imgStyle
    		if (img.align == "right") imgStyle = "float:right;" + imgStyle
    		if (img.parentElement.href) imgStyle = "cursor:hand;" + imgStyle
    		var strNewHTML = "<span " + imgID + imgClass + imgTitle
    		+ " style=\"" + "width:" + img.width + "px; height:" + img.height + "px;" + imgStyle + ";"
    		+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader"
    		+ "(src=\'" + img.src + "\', sizingMethod='scale');\"></span>"
    		img.outerHTML = strNewHTML
    		i = i-1
    	}
    }
    }
    window.attachEvent("onload", correctPNG);
    mais le problème c'est qu'il ne prend pas en compte les images en arrière plan.
    Or c'est le cas que j'ai une image en background d'un <td>.

    Est ce que quelqu'un à une solution?

    Merci d'avance

  2. #2
    Membre expérimenté
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    Points : 1 350
    Points
    1 350
    Par défaut
    Salut,

    Si je ne me trompe, les png ne sont pas voir, pas très bien geré par les IE <7 et pour y remedier d'après ceci png :

    En résumé tu met ceci dans tes pages (celle contenant les png):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <head>
    ...
    <!--[if lt IE 7.]>
    <script defer type="text/javascript" src="pngfix.js"></script>
    <![endif]-->
    ....
    </head>
    tu télécharges pngfix.js qui se situe dans le même lien qu'au dessus que tu mettra avec tes pages hebergé

    ++

  3. #3
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Si tu n'as qu'une image png, tu peux le faire manuellement niveau css. Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>transp</title>
    <style type="text/css">
    table {background-color: #006600;}
    .transp {background: url(transp.png);}
    </style>
    <!--[if IE 6]>
    <style type="text/css">
    .transp {
      background:none;
    	filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=scale src='transp.png');
    }
    </style> 
    <![endif]-->
    </head>
     
    <body>
    <table>
      <tr>
        <td class="transp"> sdg sdg dsg dsf</td>
        <td>sdg sdg dsg </td>
      </tr>
      <tr>
        <td>sdg dsg dgs </td>
        <td>sdg dsfg dsg</td>
      </tr>
    </table>
    </body>
    </html>

  4. #4
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    pourquoi une suele image PNG CandyGirl?
    Ce ne peut pas être étendu?

  5. #5
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    si aucun problème, c'est juste que suivant le nombre d'images ça risque d'être un peu fastidieux

    Pour un peu plus de précision, pour pouvoir appliquer le filtre, il on doit désactiver l'éventuel background-image de l'élément. D'autre part, dans mon exemple, j'ai utilisé la valeur scale, ce qui signifie que l'image va être étendue sur toute la surface de l'élément. On peut aussi appliquer la valeur crop qui positionnera juste l'image comme un background en top left et no-repeat. A ma connaissance, on ne peut malheureusement pas faire de repeat ou encore positionner l'image en bas à droite, par exemple. La doc officielle microsoft à ce sujet:
    http://msdn2.microsoft.com/en-us/library/ms532969.aspx

  6. #6
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    J'ai utilisé la solution de Candygirl ça marche très très bien.
    Par cotre je n'ai pas compris ce que tu veux dire par
    Pour un peu plus de précision, pour pouvoir appliquer le filtre, il ne doit pas y avoir de background à l'élément.
    Moi dans mon cas j'ai un background sur ma table et un background sur ma cellule (celui qui est transparent) et ça marche très bien.

    Merci beaucoup pour ton aide

  7. #7
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    là, je dirais pas que tu parles en japonnais car je saisirais quelques mots...
    mais je suis perdue dans ton explication...
    normale je suis une noob du CSS

  8. #8
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Citation Envoyé par guigui5931
    Moi dans mon cas j'ai un background sur ma table et un background sur ma cellule (celui qui est transparent) et ça marche très bien.
    Si tu as copié le code que je t'ai donné, tu as noté le background:none; qui désactive ton image de fond pour IE6, ce qui est indispensable pour le bon fonctionnement du filtre.

  9. #9
    Membre chevronné Avatar de guigui5931
    Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2006
    Messages
    1 667
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 667
    Points : 2 232
    Points
    2 232
    Par défaut
    J'avais pas compris. Merci pour votre aide.

  10. #10
    Membre émérite
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 52
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Points : 2 907
    Points
    2 907
    Par défaut
    Je m'étais mal exprimée; j'ai d'ailleurs édité mon message au cas où d'autres lecteurs se penchent dessus

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [VBA-E] Afficher et fixer la formule d'une cellule donnée
    Par cladsam dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/06/2014, 07h27
  2. Background d'une cellule Treeview
    Par XHeLL dans le forum GTK+ avec C & C++
    Réponses: 2
    Dernier message: 06/02/2010, 01h17
  3. modifier le background d'une cellule
    Par ktulu77 dans le forum VBA PowerPoint
    Réponses: 7
    Dernier message: 11/08/2008, 13h04
  4. [JTable]Définir à tout moment le background d'une cellule
    Par krolineeee dans le forum Composants
    Réponses: 10
    Dernier message: 11/09/2006, 17h35
  5. Changer le background d'une cellule de JTable
    Par m@t dans le forum Composants
    Réponses: 8
    Dernier message: 27/11/2005, 17h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo