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 :

Appeler une classe avec une autre classe


Sujet :

CSS

  1. #1
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut Appeler une classe avec une autre classe
    Bonjour tout le monde.

    Je suis pas encore trés doué avec CSS et je me pose une question de fainéant.

    Dans mon site j'ai fait pas mal de classes CSS et vu que je travail beaucoup avec des module réutilisable, je me retrouve à mettre souvent la même chose dans les classes CSS.

    Alors je voudrais savoir si je peux définir un truc dans un coin du fichier et l'appeller dans d'autre calsses et ensuite rajouter, éventuellement, d'autre commandes CSS.

    Je vais expliquer par l'exemple :
    Pour un module de fiche membre je défini le titre de la fiche avec ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .TitreFicheMembre
    {
        color:#663300;
        font-size:x-large;
        font-weight:bold;
    }
    Et dans un module de News je défini le titre du module de News de la même manière.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    .TitreModuleNews
    {
        color:#663300;
        font-size:x-large;
        font-weight:bold;
    }
    Est ce que je ne pourrais pas définir la chose une fois et appeler ça à partir des Classes, un peu comme ça :

    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
     
    DefinitionTitre
    {
        color:#663300;
        font-size:x-large;
        font-weight:bold;
    }
     
    .TitreModuleNews
    {
    DefinitionTitre
    Width:250px;
    }
     
    .TitreFicheMembre
    {
    DefinitionTitre
    witdh:600px;
    }
    Le tout étant de savoir comment je défini DefinitionTitre et comment je l'appelle aprés.

    Merci pour votre aide.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 60
    Points : 59
    Points
    59
    Par défaut
    C'est très faisable et c'est une bonne idée d'être fainéant....car ça fait marcher les méninges ....

    Je créerais par exemple des <div class="gen-menu size250">xxxx</div>
    et pour le css, tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .gen-menu {background: yellow; color: blue; padding-bottom: 5px; margin: auto}
    et

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    .size250 {width: 250 px; height: 20px;}

  3. #3
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci pour ton aide.

    Malheureusement cela ne corrsepond pas tout à fait à ce que je cherche.
    Dans le cas que tu présente, je dois placer .size250 sur chaque contrôle dans mon code HTML.
    Ce que je voudrais c'est placer uniquement "TitreFicheMembre" et "TitreModuleNews" dans mon code HTML.

    L'autre "classe" "DefinitionTitre" (parce que je ne sais pas si ça s'appelle une classe) ne serait appellée que dans le fichier CSS.

    En fait, j'ai une contrainte sur le nommage des classes dans mon code. Mon système de site est dévelopé sous forme de module, donc je ne peux pas toucher au nom des classes CSS qui placée dedans. Je ne peux modifier que le fichier CSS.

    Je sais pas si je suis bien clair.

  4. #4
    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 748
    Points
    3 748
    Par défaut
    Citation Envoyé par zooffy Voir le message
    Malheureusement cela ne corrsepond pas tout à fait à ce que je cherche.
    Dans le cas que tu présente, je dois placer .size250 sur chaque contrôle dans mon code HTML.
    Niveau performance et maintenance, la meilleure solution (comme le précisait aL1ba) consiste à agréger les règles : Définir une règle générique .DefinitionTitre et ajouter les bouts qui font la différence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <div class="DefinitionTitre TitreModuleNews">bla</div>
    Citation Envoyé par zooffy Voir le message
    En fait, j'ai une contrainte sur le nommage des classes dans mon code. Mon système de site est dévelopé sous forme de module, donc je ne peux pas toucher au nom des classes CSS qui placée dedans. Je ne peux modifier que le fichier CSS.
    Dans ce cas il faut recopier les déclarations à chaque fois.

  5. #5
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 887
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 887
    Points : 16 302
    Points
    16 302
    Par défaut
    Ou alors tu peux faire comme ça :

    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
    .TitreModuleNews, .TitreFicheMembre
    {
        color:#663300;
        font-size:x-large;
        font-weight:bold;
    }
     
    .TitreModuleNews
    {
       width:250px;
    }
     
    .TitreFicheMembre
    {
       width:600px;
    }

  6. #6
    Membre extrêmement actif
    Avatar de zooffy
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Août 2004
    Messages
    3 895
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Bâtiment

    Informations forums :
    Inscription : Août 2004
    Messages : 3 895
    Points : 1 434
    Points
    1 434
    Par défaut
    Merci beaucoup pour ta réponse Bisûnûrs, cela me convient trés bien. Je crois que kj'ai la souplesse que je cherche avec cette technique.

    Je suppose qu'elle est répétable à l'infini ?
    Par exemple je peu faire une définitoin avec taille et couleur de texte où j'appele toute mes classes, puis deux autres qui définisse une largeur de 250 et de 600 pour les quelles je mets une liste de classe en appel qui reprends des clase déjà appellé pour la définitoin du texte.
    Et apprés je peut encore définir spécifiquement des choses pour chaque classe séparément.

    Quant à la maintenance, Macmillenium, dans l'absolu tu as entièrement raison. Mais dans mon cas, non, ce n'est pas applicable. mon système est fit de tel sorte que je ne pourrias pas mettre ce genre d'appel. Mon système repose sur le principe de l'utilisation d'une seul et unique fichier default.aspx pour tous MES sites.
    Car oui, j'ai 7 sites qui tournent deçu en ce moment. Faire comme tu dis impliqueraus un principe faux à la base : je défini pour tous mes sites une gestion des textes (par exemple). Tel que mon système est foutu, ce n'est pas applicable.

    Merci à tous.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 11h17
  2. [WD14] Alimentation d'une colonne d'une tableau avec une autre colonne
    Par Deep Lowee dans le forum WinDev
    Réponses: 2
    Dernier message: 23/01/2013, 17h44
  3. [MySQL] requete dans une table avec une varible d'une autre table
    Par kogoi dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 03/11/2011, 15h24
  4. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 12h59
  5. Réponses: 4
    Dernier message: 15/10/2009, 13h33

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