tags:

views:

567

answers:

6

Is there a maximum number of caracters for the name of a class in CSS ?

+7  A: 
.thereisnomaximumlengthforaclassnameincss {
maxlength: no;
}

Good luck! There is no maximum length it says.

Younes
Excellent ! :-)
Pierre W
accept answer!!! :)
Younes
this will not validate ... :p
Gaby
hehe no it prolly won't , but it's still fun.
Younes
A: 

Similar to this question on ID names in HTML as well. Seems like there is no "practical" limit.

I say keep them as short as possible, while still being descriptive - why even flirt with crazy-long names? :)

chucknelson
Have you ever worried about asking him why he wants to know this? He might have a very logical explanation for his question :p.
Younes
Come on, gotta throw in some opinion somewhere! :) Good luck!
chucknelson
+3  A: 

No maxiumum.

Basically, a name may start with an underscore (_), a dash (-), or a letter(a–z), and then be immediately followed by a letter, or underscore, and THEN have any number of dashes, underscores, letters, or numbers:

-?[_a-zA-Z]+[_a-zA-Z0-9-]*
Yada
+2  A: 

Don't forget about bandwidth. It may not seem to make a difference but one css file with 30 classes with long names can add up to a big performance issue on a large site

Sruly
+1, although something tells me that we're not in the 1970s any more, and considering the amount of useless P2P traffic, a few extra UTF8 codepoints in CSS isn't a big deal.
Aiden Bell
Yep Aiden Bell, you're totally right. When back in the days people had to worry about 1 or 2 more characters that's totally out of the question for most of the aspects.
Younes
+1  A: 

W3C Schema for CSS 2.1 -

http://www.w3.org/TR/CSS21/

Also, I used their CSS validator with a really long class name... it passed validation -

http://jigsaw.w3.org/css-validator/

Kris Krause
+1  A: 

To add to what others have written, would just like to add if - like me - you find you sometimes end up with crazy long names (because you like being descriptive) then it's worth bearing in mind selectors, which also promotes style re-use and helps keep things easy to read.

e.g.

h1 {
   1.5em;
}

styledParagraph {
   font-size: 1em;
}

/* Override the default font size if the styledParagraph element is inside an element with the class articlePage */
.articlePage .styledParagraph {
    font-size: 1.5em;
}

/* Make all <h1> elements in .articlePage -> . styledParagraph larger than the default */
.articlePage .styledParagraph h1 {
  font-size: 2em;
}

This is very widely supported (even in MSIE 6) and it's much easier to read than a class name like .articlePageStyleParagraphHeading.

Iain Collins