Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Should HTML element classes have prefixes depending on their use?

I've been told that it's standard practice to prefix class names on HTML elements with "jq" or "js" so that the designer doesn't conflict with the developer.

I've been around a little and I've never seen this done and personally feel this creates an artificial and unhelpful divide between design and code.

The question is whether this is indeed standard practice, and moreover, I would like references to articles explaining why this is done (what problem does it solve).

like image 765
Bernhard Hofmann Avatar asked Mar 24 '11 11:03

Bernhard Hofmann


1 Answers

I'm the front-end developer at my organisation and as such am responsible for the CSS. I create all the required classes for layout and UI, as well as periodically tidying up unused styles and mark-up.

Our developers never need to add classes for presentation, but they do occasionally add classes for Javascript. In these instances I have asked them to prepend their classes with js-.

This simply helps me identify classes that are not used for presentation, but are still required for functionality. My other class names are all descriptive of the content.

Before we introduced this it was much harder to keep the mark-up tidy (by removing unused classes) as classes could seem redundant (with no references in the stylesheets), but were still used.

I've not come across any documentation saying this is a bad idea. It works for us, so is simply a matter of personal preference.

like image 178
ajcw Avatar answered Nov 15 '22 20:11

ajcw