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

Mise en page CSS Discussion :

faire condition if else endif en css


Sujet :

CSS

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut faire condition if else endif en css
    Bonjour,

    Je cherche à utiliser Or, ca ne marche pas sous IE6...

    Je veux donc que si le navigateur est IE 6 alors position=absolute, sinon position=fixed...

    J'ai trouvé ca;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <!--[if lt IE 7]>
    <link rel="stylesheet" type="text/css" href="IE-6-OR-LOWER-SPECIFIC.css" />
    <![endif]-->
    Comment faire pour faire un si else finsi?

  2. #2
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    Tu n'as pas besoin de faire un si ..... sinon

    Tu as juste a faire une feuille de style principale avec dedans ton position:fixed et ensuite tu mets le commentaire conditionnel suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <!--[if IE 6]>
    <style type="text/css">
    tonbloc {
        position: absolute;
    }
    </style>
    <![endif]-->
    Ce qui signifiera position fixed pour tous sauf IE6

    c'est ça que tu veux ?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    Mais comment je dis position fixed pour le reste?
    Il n'y a pas de else...

    Je ne comprend pas trop!! désolé!

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <!--[if IE 6]>
    <style type="text/css">
    .fenetre-panier {
        position: absolute;
    }
    </style>
    <![endif]-->
     
    <style type="text/css">
    .fenetre-panier {
    position:fixed;
    }
    </style>

  5. #5
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    En réalité tu utilise la surcharge de la position. Je m'explique dans le code
    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
     
    <head>
    /* on commence par appliquer la feuille de style generale qui applique un position fixed pour tous les navigateurs sans exception. c'est donc ici que tu dis position fixed pour le reste */
    <style type="text/css">
    .fenetre-panier {
    position:fixed;
    }
    </style>
     
    /* ensuite on met le test conditionnel qui va etre pris en compte seulement pour IE6 et qui mettra un position absolute */
    <!--[if IE 6]>
    <style type="text/css">
    .fenetre-panier {
        position: absolute;
    }
    </style>
    <![endif]-->
     
    /* au final pour tous les navigateurs c'est position fixed sauf pour IE6 */
     
    </head>

  6. #6
    Membre habitué Avatar de avogadro
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    412
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 412
    Points : 188
    Points
    188
    Par défaut
    c'est compliqué d'avoir 140 feuilles de styles, utilise en une et aide toi du code :

    body {
    background:#EEE;
    font:1.7em/1.2 Trebuchet MS, Arial, Helvetica, sans-serif
    }
    body div {
    margin:2em auto;
    padding:2em;
    width:50%;
    }
    div {
    /* Pour SF 1&2 */ background:purple;
    }
    body {
    display:block;
    #
    }

    * html div {
    /* Pour IE 5.5 */ background:red;
    voice-family: "\"}\""; voice-family: inherit;
    /* Pour IE 6.0 */ background:blue;
    }
    *:first-child+html div {
    /* Pour IE 7.0 */ background:yellow;
    }
    div {
    /* Par défaut */ background:green;
    }
    demo : http://www.babylon-design.com/exemples/test-hacks/

  7. #7
    Membre éclairé Avatar de pop_up
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    877
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2006
    Messages : 877
    Points : 786
    Points
    786
    Par défaut
    Je ne suis pas d'accord avec toi. L'utilisation des hacks n'est pas une solution pérenne car ce n'est pas très robuste.

    Ceci a été évoqué récemment sur ce post

    Les commentaires conditionnels sont fait pour ça et ça ne fait pas 140 feuilles de style. De plus les feuilles conditionnelles pour IE ne contiennent en général que les éléments qui corrigent donc ce n'est pas aussi long qu'une css générale

  8. #8
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Je ne suis pas d'accord avec toi. L'utilisation des hacks n'est pas une solution pérenne car ce n'est pas très robuste.
    suis plutôt de cet avis
    Sinon y a aussi javascript, tu détectes le navigateur puis tu appel la feuille adéquate...

Discussions similaires

  1. Conditions If Else sur CSS
    Par chok371 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/07/2010, 15h56
  2. [Débutant] Condition if else endif
    Par steven22 dans le forum Fortran
    Réponses: 5
    Dernier message: 25/11/2008, 09h34
  3. condition (if/else) qui ne fonctionne pas
    Par oceane751 dans le forum Langage
    Réponses: 8
    Dernier message: 24/07/2007, 23h58
  4. Condition if/else et région répétée
    Par craac dans le forum Langage
    Réponses: 6
    Dernier message: 10/04/2007, 11h20
  5. [MySQL] instruction condition if - else
    Par Henry9 dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 22/09/2006, 23h49

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