My next Stack Exchange Challenge post will most likely be about the Programmers SE. One part of the challenge is to actually ask a question I have on the topic. The question I came up with (to be honest, this has been bothering me for months now) took quite some time to write down carefully. So, as I don’t have my next SE Challenge post ready yet, I decided to cross-post my question here on my blog as well.
The Question: what are the practical considerations for the syntax in class
and id
values?
Note that I’m not asking about the semantics, i.e. the actual words that are being used, as for example described in this blogpost. There are a lot of resources on that side of naming conventions already, in fact obscuring my search for practical information on the various syntactical bits: casing, use of interpunction (specifically the -
dash), specific characters to use or avoid, etc.
To sum up the reasons I’m asking this question:
- The naming restrictions on id and class don’t naturally lead to any conventions
- The abundance of resources on the semantic side of naming conventions obscure searches on the syntactic considerations
- I couldn’t find any authorative source on this
- There wasn’t any question on SE Programmers yet on this topic
Some of the conventions I’ve considered using:

UpperCamelCase
, mainly as a cross-over habit from server side codinglowerCamelCase
, for consistency with JavaScript naming conventionscss-style-classes
, which is consistent with naming of css properties (but can be annoying when Ctrl+Shift+ArrowKey selection of text)with_under_scores
, which I personally haven’t seen used muchalllowercase
, simple to remember but can be hard to read for longer namesUPPERCASEFTW
, as a great way to annoy your fellow programmers (perhaps combined with option 4 for readability)
And probably I’ve left out some important options or combinations as well. So: what considerations are there for naming conventions, and to which convention do they lead?
2 thoughts to “CSS syntax naming conventions”
Comments are closed.