Est-ce que l'utilisation de noms de classe comme «juste» est considérée comme une mauvaise pratique?

StackOverflow https://stackoverflow.com/questions/242255

  •  04-07-2019
  •  | 
  •  

Question

Si j'ai des noms de classe tels que "gauche", "droit", "clair" et xhtml comme

<a href="index.php" class="right continueLink">Continue</a>

Avec des CSS comme

.right {
float: right;
}

Je sais que ce n'est pas un nom sémantique, mais cela rend parfois les choses beaucoup plus faciles.

Quoi qu'il en soit, quelles sont vos pensées?

Était-ce utile?

La solution

Je ne pense pas que ce soit une très bonne idée. Maintenant, lorsque vous (ou un futur responsable) allez changer la disposition de votre site Web, vous devrez soit changer .right en {float: left;} (évidemment un mauvais idée) ou parcourez tous vos fichiers HTML et remplacez right par left .

Pourquoi voulez-vous que ce lien soit flotté correctement et que les autres .continueLink ne le soient pas? Utilisez la réponse à cette question pour choisir un nom de classe plus descriptif pour ce lien.

Autres conseils

css concerne la présentation de la structure de votre page HTML.

Cela signifie que ses classes doivent représenter la structure du document ("article", "extra-liens", "glossaire", "introduction", "conclusion", ...).

Vous devriez éviter toute classe liée à une représentation physique ("gauche", "droite", "notes de bas de page", "sidenotes", ...), car, comme le Jardin zen illustre bien que vous pouvez choisir de placer n'importe quelle div de différentes manières.

Les puristes diront qu'ils ne le font pas, et les pragmatiques diront que ça va. Mais les puristes définiraient-ils .right comme float: left ?

Pour éviter toute confusion, évitez les noms identiques aux valeurs spécifiées dans les spécifications CSS. Surtout lorsque plusieurs développeurs travaillent sur la même application.

À part ça, je ne vois pas de problème. Je qualifierais le nom de droite ou de gauche de la manière suivante: menuleft, menuright, etc.

Étant un puriste, je dis non, ne le faites pas. Pour les raisons mentionnées précédemment.

En tant que pragmatique, je voulais juste dire que je n’ai jamais vu de retouches de sites Web impliquant des modifications html pures sans CSS, ou des pss pures sans HTML, simplement parce que les deux parties sont développées avec l’autre à l’esprit. Donc, en réalité, si quelqu'un d'autre devait JAMAIS avoir besoin de changer de page, je parie que mon salaire changera à la fois en html et en css.

Ce qui précède est quelque chose que les puristes des collèges ont souvent tendance à ignorer, même si c'est la réalité. Mais en bout de ligne; non, évitez d'utiliser un className tel que "right". : -)

.right et d’autres classes comme celle-ci permettent certainement d’écrire rapidement une balise avec une règle float: right , mais je pense que cette méthode a plus d'inconvénients que d'avantages:

Souvent, un style de classe avec un seul float: right; manque dans quelque chose, votre exemple ne flottera que vers la droite si l'autre règle de classe contient un display: block dans celui-ci, car un "a" tag n'est pas un élément de niveau bloc. De plus, les éléments flottants doivent le plus souvent avoir une largeur et une hauteur attachées. Cela signifie que le code de votre exemple nécessite un code supplémentaire pour faire ce qu’il indique, et vous devez effectuer une recherche à deux endroits lorsque vous devez modifier votre css.

J'ai tendance à styler mon code HTML en divisant la page en différentes balises div ayant un identifiant unique, puis en stylant les éléments de ces div par héritage comme celui-ci.

div#sidebar { float:right; width:200px; }
div#sidebar ul { list-style-type:none; }

Cela permet de partitionner mes fichiers css, de sorte qu'il soit facile de trouver le code css qui style une balise particulière, mais si vous introduisez .right et d'autres classes, vous commencez à disperser les règles dans différents domaines de le fichier css, ce qui rend le site plus difficile à gérer.

Je pense que l’idée d’avoir des classes très génériques est née de la volonté de permettre de changer toute la mise en page du site en changeant quelques règles dans une feuille de style, mais je dois dire que dans mes 8 années de développement de sites Web avec plus de 30, différents sites à mon actif, je n'ai jamais modifié la présentation d'un site Web et réutilisé le code HTML.

Ce que j’ai fait maintes fois, c’est d’apporter de petites modifications aux régions de pages, en raison de modifications mineures apportées à la conception ou de l’introduction de nouveaux navigateurs. Je suis donc tout à fait en faveur de garder mes fichiers CSS divisés en morceaux ordonnés qui permettent de trouver facilement les règles que je recherche et de ne pas placer le code à différents endroits pour obtenir une feuille de style plus courte.

Cordialement Jesper Hauge

Oui, d’un point de vue sémantique, c’est faux, mais, par exemple, il arrive que des images soient placées dans un bloc de texte et que je leur donne la classe "juste".

Peut-être " alt " est un nom de classe plus approprié.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top