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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert 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
    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 Expert
    Avatar de kaiser59
    Homme Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1 264
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1 264
    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 Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    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>
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Par défaut
    pourquoi une suele image PNG CandyGirl?
    Ce ne peut pas être étendu?
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    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
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

  6. #6
    Membre Expert 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
    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 : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    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
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

+ 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