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 :

Param Id et Class souvent identique ! Meilleure soluce ?


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut Param Id et Class souvent identique ! Meilleure soluce ?
    Bonjour,

    Je prend pour habitude d'attribuer un id à tous les éléments qui sont susceptible d'être accéder via javascript. Je prend également pour habitude de systématique crée une class css. Enfin ça c'est normal.

    Bien souvent, je réutilise une même class pour plusieurs element html mais je suis régulièrement confronté à un petit problème. Quand un element est particulier est unique, j'ai l'id et la class qui est identique. Je trouve cela un peu bête de tapper 2 fois la même valeur.

    J'aime id pour faire un getelementbyid et la class est indispensable. Donc comme puis-je faire pour éliminer ce doublon ?

    Merci,

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    Citation Envoyé par vodnok
    J'aime id pour faire un getelementbyid et la class est indispensable.
    Pas tout à fait :
    l'id sert à faire référence à un objet unique (en JS et CSS).
    Si tu attribues un id à ton objet pour tes traitements, et que tu utilises cet id pour lui affecter un style, il n'y a plus besoin de lui créer une class spécifique.
    A contrario, si ton objet doit recevoir un style déjà défini dans une class, et que tu n'as par ailleurs pas besoin de son id pour des traitements, pas besoin de lui donner d'id, le style sera appliqué via la class.
    Pour résumer :
    ID ou Class ou les 2 .... suivants les besoins : rien de systématique ...
    ... ni de "meilleure" soluce.
    Juste une mauvaise : utiliser celui (id ou class) qui est inutile

    A+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut
    Merci de ta réponse,

    Effectivement, j'ai parfois

    Id, pas de class
    pas d'id, class
    pas d'id, pas de class
    id, class

    id, class : id<>class
    id, class : id=class

    C'est dans le dernier cas que je trouve bête de mettre 2X l'info.

    Ce cas se prenste par exemple dans la colonne de gauche ou la zone principale de la page ou j'ai <div id='mainZone' class='mainZone'>

    Bon d'un autre côté ce n'est pas un problème en soit mais peut être il existe une solution plus propre

  4. #4
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par vodnok
    j'ai <div id='mainZone' class='mainZone'>
    Dans ce cas, logiquement, c'est que ta class ne sert que pour cet élément.
    L'id pouvant te servir à accéder à l'objet, c'est la class qui est en trop.

    Défini ton style avec #mainZone, et vire la class

    A+

  5. #5
    Expert confirmé
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 661
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 661
    Par défaut
    bonjour,

    pour éviter les doublons, j'ai adopté cette syntaxe :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <balise id="idElement" class="MaClasse">
    bla bla bla
    </balise>
    Mes id commencent généralement par id et mes classes ont des noms "quelconques" (menu, entete, etc...).

    De ton côté, tu peux précéder le nom de tes id par id (idElement) et le nom de tes classes par cl (clMaClasse) pour éviter ces doublons voire même des confusions.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2005
    Messages : 152
    Par défaut
    Héhé marrant de voir les vieux trucs pas résolu


    Bon la solution dans le cas ou le nom de la class est identique à l'id est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <div id='monDiv'></div>
     
    #monDiv{
    width:300px;
    }
    Cela fait quelques caractères d'économisés

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

Discussions similaires

  1. Gestion droits la meilleur soluce
    Par nma dans le forum Administration
    Réponses: 2
    Dernier message: 19/05/2014, 17h23
  2. Désérilization XML de deux classes presque identique
    Par Oberown dans le forum Framework .NET
    Réponses: 6
    Dernier message: 07/11/2011, 17h59
  3. Nommage de classe - Meilleurs pratiques
    Par onlytoine dans le forum Langage
    Réponses: 15
    Dernier message: 14/12/2007, 10h22
  4. Réponses: 5
    Dernier message: 07/06/2006, 22h05
  5. Noms de classes identiques
    Par manu.c dans le forum Rational
    Réponses: 13
    Dernier message: 05/04/2006, 14h51

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