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 :

Problème PNG avec menu déroulant


Sujet :

HTML

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2010
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 63
    Points : 46
    Points
    46
    Par défaut Problème PNG avec menu déroulant
    Bonjour,

    J'ai un menu déroulant et en dessous du bloc menu j'ai un bloc avecune background png pour résoudre le problème du png sous ie6 j'ai utilisé une fonction jQury:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if( jQuery.browser.msie && (jQuery.browser.version == "6.0") ) {
    							DD_belatedPNG.fix('.bg_png');							
     
    	}
    Le problème c'est que lorsque j'utilise cette fonctionne les menus déroulants paraissent en dessous du bloc png par contre lorsque j'enlève la fonction plus de problème,
    Bien sure les menus déroulant ont une position absolute mais quand le bloc png se position sur les menus , j'ai utilsé le z-index mais ça n'a rien changé

    Aves-vous une solution?

    Merci d'avance

  2. #2
    Membre habitué Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Points : 134
    Points
    134
    Par défaut
    Salut, j'avais le même problème sur mon site avec les images png et IE6 et j'ai utilisé ce script pour résoudre le problème et ça a marché très bien:

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    $(savePNG)
    function savePNG(){
            if(!jQuery.browser.msie)return
     
    		rePng         = /\.png/gi
    		reUrl                = /url\((.+)\)/
    		imgBlank         = 'space.gif';
     
            $('*',$('body')).each(
     
                    function (i){
                            // 1 Traitement des attributs background
                            if($(this).attr('background')){
                                    var bg = $(this).attr('background')
                                    if(bg.match(rePng)!=null){
                                            $(this).attr('background','')
                                            $(this).css('backgroundImage','none')
                                            $(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+bg+"', sizingMethod='scale');")
                                            return;
                                    }
                            }        
                            // 2 Traitement des attributs css (background-image)
                            if($(this).css('backgroundImage')){
                                    var bg = $(this).css('backgroundImage')
                                    if(bg.match(rePng)!=null){
                                           var src = reUrl.exec(bg)
                                            $(this).css('backgroundImage','none')
                                            $(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+src[1]+"', sizingMethod='scale');")
                                            return;
                                    }
                            }
                            // 3 Traitement des attributs  src de la balise img
                            if(this.tagName=='IMG'){
                                    var bg= $(this).attr('src')
                                    if(bg.match(rePng)!=null){
                                            $(this).css('filter',"progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"+ bg +"', sizingMethod='scale');");
                                            return;
                                    }
                            }
                    }
     
            )
    }

    J'espère que ça va marché avec toi.

  3. #3
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Pour ma part, ça fait longtemps que j'ai abandonné ce genre de script pour les png. Je préfère créer un png pour les navigateurs et un gif pour IE6. Tant pis (j'aurais tendance à dire tant mieux ) si l'affichage est pourri avec le gif

  4. #4
    Membre habitué Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Points : 134
    Points
    134
    Par défaut
    moi personnellement j'ai abandonné l'utilisation des GIF, j'utilise les png avec le script, je le met dans un fichier pngfix.js par exemple et je l'utilise sur IE seulement en ajoutant cette ligne entre <head> et </head>

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!--[if IE]><script src="pngfix.js" type="text/javascript"></script><![endif]-->
    on peut aussi l'utilisé avec IE 6 seulement en ajoutant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!--[if IE 6]><script src="pngfix.js" type="text/javascript"></script><![endif]-->

  5. #5
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Bonjour,

    je crois que ce genre de traitement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!--[if IE]><script src="pngfix.js" type="text/javascript"></script><![endif]-->
    complique inutilement la création et la gestion d'un site.
    Mieux veux rester simple avec des fichiers png et des gif.

  6. #6
    Membre habitué Avatar de Rahim-US
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juillet 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juillet 2009
    Messages : 151
    Points : 134
    Points
    134
    Par défaut
    Oui mais il y a des problèmes avec les anciens navigateur (IE6 par exemple) et les fichier png, surtout dans la transparence des image png, pour Mozilla et Opera je pense que pas de problème alors j'ai ajouter le script seulement pour IE6, et si je l'utilise avec Internet Explorer seulement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!--[if IE]><![endif]-->
    ça ne pose pas de problème.

  7. #7
    Membre émérite
    Avatar de polymorphisme
    Homme Profil pro
    Publishing
    Inscrit en
    Octobre 2009
    Messages
    1 460
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2009
    Messages : 1 460
    Points : 2 371
    Points
    2 371
    Par défaut
    Oui, oui bien sûr ! On connait ces problèmes.

    Il existe des méthodes génériques beaucoup plus propres
    qui ne font pas intervenir une solution purement propriétaire.

  8. #8
    Rédacteur
    Avatar de Macmillenium
    Homme Profil pro
    Développeur front-end
    Inscrit en
    Mars 2008
    Messages
    2 333
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur front-end
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Mars 2008
    Messages : 2 333
    Points : 3 747
    Points
    3 747
    Par défaut
    Citation Envoyé par polymorphisme Voir le message
    qui ne font pas intervenir une solution purement propriétaire.
    Comme les png8 avec transparence Alpha.

Discussions similaires

  1. bouton avec menu déroulant dans la tool bar.
    Par archerhawke dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 27/10/2009, 19h50
  2. [PHP-JS] erreur 404 avec menu déroulant
    Par midiweb dans le forum Langage
    Réponses: 5
    Dernier message: 15/02/2007, 15h56
  3. [JS] Pb avec menu déroulant - cf. 4e post
    Par Badaboumpanpan dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/10/2006, 15h13
  4. Problème avec menu déroulants
    Par davinout dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/04/2006, 19h33
  5. [CSS] petit problème avec menu déroulant et frame
    Par SylvainB dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 14/02/2006, 14h54

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