Partage
  • Partager sur Facebook
  • Partager sur Twitter

if firefox .. if google chrome!

CSS différent selon les navigateurs

Sujet résolu
    23 février 2012 à 17:18:37

    Salut!

    J'ai une question qui peut paraître bête, j'ai déjà cherché sur internet mais je n'ai rien trouvé.
    Je pense que vous avez déjà compris avec le titre explicite..existe-t-il un certain bout de code semblable à celui permettant de dire "Si l'utilisateur utilise firefox, on utilise tel css, si il utilise IE, on utilise l'autre css" mais qui prendrait en compte le fait que l'utilisateur utilise google chrome ou non ?
    "Si il utilise Chrome , alors on prend tel css, sinon on prend l'autre" ?

    Je suppose que non mais j'aurais bien aimé être sûr.
    Merci bien!
    • Partager sur Facebook
    • Partager sur Twitter
      23 février 2012 à 17:22:59

      peut-être possible mais sans grand intérêt.
      • Partager sur Facebook
      • Partager sur Twitter
        23 février 2012 à 17:32:08

        Salut!
        Si si! Sa existe. Tu peux utiliser plusieurs feuilles de style selon le navigateur :
        <!--[if !ie]>
        <link rel='stylesheet' type='text/css' href='tafeuilledestyle.css'>
        <![endif]-->
        <!--[if IE]>
        <link rel='stylesheet' type='text/css' href='tafeuilledestyle2.css'>
        <![endif]-->
        


        Sinon tu peux mettre un peu de css entre les balises <!--[if !ie]> et <![endif]--> avec <style> et </style> comme sa :

        <!--[if !ie]>
        <style> ton css </style>
        <![endif]-->
        


        Enfin j'espère que c'est bien ce que tu cherchais :euh:

        PS: Je précise que ce code est à mettre dans ton HTML.
        • Partager sur Facebook
        • Partager sur Twitter
          23 février 2012 à 17:34:32

          Non en css c'est impossible sauf pour IE, mais tres simple en javascript ;) :

          http://www.quirksmode.org/js/detect.html

          PS: ceci dit, je te déconseille de faire un css par navigateur, c'est de la perte de temps et il n'y a aucun intérêt, firefox et chrome on un rendu semblable.
          • Partager sur Facebook
          • Partager sur Twitter
            23 février 2012 à 17:39:23

            Oui mais on est pas obligé de réécrire tout le css, juste la partie qui change selon le navigateur non ?
            • Partager sur Facebook
            • Partager sur Twitter
              23 février 2012 à 17:42:52

              Oué mais qu'est ce qui change de firefox à chrome? Ok pour les -webkit et les -moz mais bon si c'est juste pour ça je vois toujours pas l'intérêt sauf cas vraiment exceptionnel ou alors pour rattrapé les css qui peut bugger sur opera ;)
              • Partager sur Facebook
              • Partager sur Twitter
              Anonyme
                23 février 2012 à 17:52:01

                Cela est bon pour internet exploré VS les autres autrement innutile.

                IE trop de chose ne marche pas et sont comnpletement different aux autres (très affreux) lol ^^
                • Partager sur Facebook
                • Partager sur Twitter
                  23 février 2012 à 17:52:30

                  Pour IE il faut souvent utiliser du css différent je crois (enfin moi pour pas mal de truc j'ai dû utiliser cette technique).
                  Surtout si c'est un design assez complexe avec des transitions des dégradés et tout ça.
                  Mais les -webkit ne serons utilisé que par chrome et les -moz que par mozilla donc de toute façon pour ces deux navigateurs c'est inutile.
                  Sa ne sert que pour IE et pour Opera je ne sais pas.
                  PS: j'approuve Facebook-en-folie : IE est bon à jeter vraiment nul. :p C'est quand-même étonnant pour un logiciel de Microsoft. ^^
                  • Partager sur Facebook
                  • Partager sur Twitter
                    23 février 2012 à 18:14:41

                    Bonjour,

                    IE est un excellent navigateur ; si votre site ne s'affiche pas correctement sur IE8-9, le problème vient de votre code.

                    Sinon, comme dit, il n'y a aucun intérêt à faire plusieurs feuilles de styles. Une seule pour tout le site, tous navigateurs, toutes versions. Ensuite, éventuellement, on ajoute une feuille supplémentaire pour IE7 à l'aide d'un commentaire conditionnel si besoin, pour corriger quelques manques des propriétés CSS2 - et encore, on s'en fout un peu d'IE7, il date de 2006. Firefox 3.6 et inférieurs, on oublie, inutile de s'embêter avec du js/php pour si peu. On le fait pour IE7 parce que c'est facile et rapide à faire avec un commentaire conditionnel.
                    • Partager sur Facebook
                    • Partager sur Twitter

                    Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

                      23 février 2012 à 21:52:30

                      Bon, je vais faire un petit message bref.

                      Ce que tu cherches à faire est inutile. Ce que tu dois penser est qu'un code grand est un code optimal, c'est faux, écrire moins pour faire plus c'est un des buts premier du développeur (on est pas considérés comme des feignants pour rien ;) ).

                      Pour IE, je trouve que c'est un excellent moyen d'avoir un avis sur la qualité de son code en le testant dessus. Il ne faut pas oublier non plus que l'informatique est très vaste et que les développeurs font de leur mieux!

                      • Partager sur Facebook
                      • Partager sur Twitter
                        24 février 2012 à 8:04:01

                        Un développeur n'est pas feignant. Il passe beaucoup de temps à chercher le meilleur moyen d'optimiser sa productivité ! :p
                        • Partager sur Facebook
                        • Partager sur Twitter

                        Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

                          24 février 2012 à 14:47:17

                          déjà merci pour vos réponses ;)
                          mais je clarifie quelque chose :

                          le design marche très bien sous FIREFOX et INTERNET EXPLORER (y compris les anciennes versions apparemment)

                          MAIS : mon seul problème est qu'avec GOOGLE CHROME, j'ai un décalage d' 1 pixel entre 2 de mes div ..
                          Ce qui est plutôt embêtant , puisque quand même pas mal de personnes l'utilisent.

                          Et donc j'aimerais ne pas avoir à retaper tout un nouveau code alors que j'ai déjà du faire pas mal de modif, et qu'il marche bien sous FF et IE, ce qui 'prouve' un peu que je n'ai pas codé si mal que ça je pense? (même si je suis conscient de surement faire beaucoup d'erreurs et de ne pas avoir la méthode parfaite)

                          Edit:
                          et donc toutounel, le code que tu me proposes pourrait être bien , mais je me demandais si cela n'existait pas sous la forme if(chrome) ...
                          parce que là Chrome est le seul navigateur avec lequel je voudrais avoir une petite modif du code
                          • Partager sur Facebook
                          • Partager sur Twitter
                            24 février 2012 à 14:49:22

                            Du coup ce qu'il nous faudrait c'est soit ton code, soit un lien vers ton site.
                            • Partager sur Facebook
                            • Partager sur Twitter
                            Vous cherchez à faire un menu déroulant ? Visitez www.frogweb.fr ! frogweb le site qu'il vous faut !
                              24 février 2012 à 14:52:02

                              http://www.gospelonwallz.com/CODAGEGOW/newz.html
                              voilà la page

                              Donc le décalage est sous CHROME, avec les pages PROD & KONTACT il me semble

                              EDIT: je peux poster le code HTML ou CSS des pages que vous voulez
                              • Partager sur Facebook
                              • Partager sur Twitter
                                24 février 2012 à 16:12:22

                                Salut je crois que sa existe pour quasiment tous les navigateurs mais en php ..
                                Voici ce que j'ai trouvé :

                                <?php 
                                
                                $msie        = strpos($_SERVER["HTTP_USER_AGENT"], 'MSIE') ? true : false; 
                                $firefox    = strpos($_SERVER["HTTP_USER_AGENT"], 'Firefox') ? true : false;
                                $safari        = strpos($_SERVER["HTTP_USER_AGENT"], 'Safari') ? true : false;
                                $chrome        = strpos($_SERVER["HTTP_USER_AGENT"], 'Chrome') ? true : false;
                                
                                if ($msie) {
                                echo '
                                <!--[if IE 7]>
                                <link rel="stylesheet" href="ta_page_de_style_IE_7.css" type="text/css">
                                <![endif]-->
                                <!--[if IE 8]>
                                <link rel="stylesheet" href="ta_page_de_style_IE_8.css" type="text/css">
                                <![endif]-->
                                ';
                                }
                                if ($safari) {
                                echo '<link rel="stylesheet" href="ta_page_de_style_Safari.css" type="text/css">';
                                }
                                if ($chrome) {
                                echo '<link rel="stylesheet" href="ta_page_de_style_Chrome.css" type="text/css">';
                                }
                                if ($firefox) {
                                echo '<link rel="stylesheet" href="ta_page_de_style_Firefox.css" type="text/css">';
                                }
                                
                                ?>
                                

                                J'ai trouvé sa là : http://stackoverflow.com/questions/129 [...] onal-comments

                                Je vais le tester et si ça ne marche pas j'éditerai le post.
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  24 février 2012 à 16:21:44

                                  Je vais mettre le sujet en 'résolu', j'ai réussi à virer mon bug de décalage sous Chrome en modifiant un peu mon codage.

                                  Mais en tout cas merci pour l'aide! même si j'ai réussi à régler mon soucis vos réponses vont me servir! et merci toutounel pour le bout de code, ça a l'air pas mal! surtout quand je m'attaquerai à la compatibilité sous safari et autres!
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    24 février 2012 à 18:34:28

                                    Pour un site compatible :
                                    • On valide le code html avec le validateur w3c
                                    • On ouvre Internet Explorer, Firefox, Chrome (au moins, ne pas hésiter à ajouter Opera et Safari), de préférence avec des versions à jour (donc IE9, FF10, C16).
                                    • On reprend son CSS de 0, en regardant les effets de chaque nouvelle ligne dans CHAQUE navigateur ouvert, si possible sous plusieurs résolution (en redimensionnant la fenêtre par exemple).
                                    • S'il y a une différence d'affichage notable (autre que de petites différences de marge), c'est soit :
                                      • Qu'une propriété est mal employée (erreur de code ? propriété invalide ? margin au lieu de padding ?)
                                      • Qu'il manque quelque chose (float sans clear ? float sans width ?)



                                    Attention à toujours utiliser des propriétés dont tu connais l'incidence. Si tu ne sais pas bien, réfère-toi à la documentation d'une propriété (voir liens plus bas). Si tu sèches, pose la question ici.

                                    Au bout de quelques temps avec cette rigueur, tu comprendras mieux le CSS, tu sauras ce qui marche et ce qui ne marche pas, et tu n'auras quasiment plus besoin de retoucher tes codes. Mais il faut la patience d'apprendre.

                                    Allez, voyons maintenant tes amis pour la vie :
                                    http://validator.w3.org/
                                    http://jigsaw.w3.org/css-validator/
                                    http://www.w3schools.com/
                                    http://www.yoyodesign.org/doc/w3c/css2/cover.html

                                    Bon courage :)
                                    • Partager sur Facebook
                                    • Partager sur Twitter

                                    Il n'y a pas de mauvais navigateur, il n'y a que du mauvais code !

                                      30 avril 2014 à 10:43:24

                                      Aussi vous pouvez utiliser de 2 classes différentes :

                                      <style type="text/css">
                                      div.ff {
                                          padding-top:5px;
                                      }
                                      div.chrome {
                                         padding-top:10px;
                                      }
                                      </style>
                                      
                                      <div class="ff chrome">
                                          <p>Mon texte :/</p>
                                      </div>


                                      Cordialement :)

                                      Kss.0s(at)zw3b(dot)fr

                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                      Free 4 L...                                                                                                                                                                                                                RADIO.ZW3B.FR
                                        30 avril 2014 à 10:50:52

                                        orj > outre que tu remontes un sujet qui a plus de 2 ans, tu ne l'as probablement pas lu, puisque la plupart des réponses parlent plutôt de coder proprement (le browser sniffing, c'est vilain).
                                        • Partager sur Facebook
                                        • Partager sur Twitter

                                        Pas d'aide concernant le code par MP, le forum est là pour ça :)

                                          30 avril 2014 à 10:58:20

                                          Lamecarlate > çà peut toujours dépanner sans... prog PHP ni code JS :/
                                          • Partager sur Facebook
                                          • Partager sur Twitter
                                          Free 4 L...                                                                                                                                                                                                                RADIO.ZW3B.FR
                                            30 avril 2014 à 11:08:13

                                            Ben non. Comment tu fais pour mettre les classes "ff" ou "chrome" ? Si tu mets les deux, la deuxième déclaration (ici, .chrome) écrasera la première.
                                            • Partager sur Facebook
                                            • Partager sur Twitter

                                            Pas d'aide concernant le code par MP, le forum est là pour ça :)

                                              30 avril 2014 à 13:45:17

                                              Lamecarlate a écrit:

                                              Ben non. Comment tu fais pour mettre les classes "ff" ou "chrome" ? Si tu mets les deux, la deuxième déclaration (ici, .chrome) écrasera la première.


                                              oui pas bête ^^ !o! attend k'j'reflechisse :/
                                              • Partager sur Facebook
                                              • Partager sur Twitter
                                              Free 4 L...                                                                                                                                                                                                                RADIO.ZW3B.FR
                                                30 avril 2014 à 13:46:37

                                                bon okay... ! j'm'suis gouré ! Dans la précipitation j'ai écris cela...

                                                Lamecarlate > Merci pour ton commentaire sensé et instrictif :D

                                                -
                                                Edité par ORJ 30 avril 2014 à 13:53:36

                                                • Partager sur Facebook
                                                • Partager sur Twitter
                                                Free 4 L...                                                                                                                                                                                                                RADIO.ZW3B.FR

                                                if firefox .. if google chrome!

                                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                                • Editeur
                                                • Markdown