11
votes

Quelle méthode est la meilleure? CSS CLASSES OU ID?

Considérons ces 2 façons d'écrire le même code:

Méthode 1 FORT> P>

#header div.user a.name { color: white; }
#header div.user a.image { height: 50px; width: 50px; }


3 commentaires

On dirait que vous allez pour subjectif / argumentatif sans raison


Dupliquer de: Stackoverflow.com/Questtions/1215618/...


Sur une note latérale, si vous optez pour IDS, vous pouvez les utiliser comme "liens hachaux"


6 Réponses :


0
votes

Personnellement, la meilleure méthode est la deuxième méthode, c'est-à-dire que les classes ont été créées.


2 commentaires

Pourquoi? Quels sont les inconvénients et le pro?


C'est juste plus propre, pas de différence technique.



14
votes

Les règles d'or vont comme suit: utilisez ID pour les éléments chromés, utilisez classe pour les éléments de contenu. Donc la méthode 2 est le meilleur.

Vous pouvez lire cet article sur CSS-Discuter pour inspiration: http://css-discuss.incutio.com/wiki / Classes_vs_ids

Il n'y a rien qui vous empêche d'utiliser des attributs ID sur des éléments de contenu uniques et, dans certains cas, cela peut être un bon moyen d'accélérer les traverses JavaScript Dom. À des fins de coiffage, cependant, il est considéré par beaucoup de mauvaises pratiques.

Les points principaux à considérer sont ceux-ci:

  1. Les classes peuvent être utilisées pour une héritage multiple, l'ID doit être unique
  2. Sélecteur Spécificité peut devenir un cauchemar si vous devez utiliser héritage associé avec un style ID

    Chaque fois que j'utilise des attributs ID sur des éléments non chromés, il est purement pour l'accès rapide JavaScript et jamais pour le style.


2 commentaires

Que voulez-vous dire pour les éléments "chrome"? Éléments de décoration?


La définition de chrome peut être trouvée ici: Stackoverflow.com/ Questions / 5071905 / What-Son-chrome-méchant / ...



0
votes

Je préfère un mélange des deux, les noms de la méthode 1, avec classe plutôt que id.

La méthode deux par elle-même va bien, mais je pense que cela pourrait conduire à CSS BLOAT plus tard dans la route, surtout si vous souhaitez continuer à utiliser des classes génériques telles que le nom et l'image pour d'autres éléments.


0 commentaires

2
votes

Si vous êtes sûr que vous n'aurez que un élément sur la page, vous pouvez utiliser la méthode 1.

i Préfère la méthode 2 car je finis toujours par réutiliser mes styles et je utilise principalement des identifiants pour les éléments de mise en page (En-tête, pied de page, etc.).

J'essaierais de limiter le sélecteur autant que possible si possible, donc si je peux aborder le nom comme: xxx

Je l'utiliserais au lieu de votre sélecteur.


0 commentaires

0
votes

Vous devez utiliser des identifiants pour des éléments et des classes uniques pour des éléments que vous utilisez plus de fois. C'est ce dont vous avez besoin, des classes.


0 commentaires

0
votes

S'il n'y aura jamais un seul élément utilisateur ou nom d'utilisateur alors id est meilleur. Le sélecteur CSS pour elle sera plus efficace. Cela sera également vrai si vous devez le sélectionner pour une utilisation dans JavaScript.

classe doit être utilisé lorsqu'il pourrait y avoir plus d'un élément qui doit être stylé de la même manière.


0 commentaires