CSS: All Properties from CSS 1 to CSS 3
Post from March 27, 2008 (↻ September 3, 2016), reflecting Jens the Developer.
What would HTML do without CSS? And what is an index of all HTML elements without an index of all CSS properties? To fix the latter I present a continuously updated index of all properties specified in CSS 1, CSS 2, CSS 2.1, and CSS 3, including all their initial values.
Enjoy the fresh CSS properties list unless you’re interested in details and notes pertaining to it, as now following.
Most importantly, CSS 3 is still in progress. Please keep that in mind. While I will update the index from time to time, properties might be renamed, removed, or added, as references might also change without further notice. I’ll fix that regularly, even faster when you’re so kind to let me know.
There has been a reason to separate CSS 2 and 2.1: Although CSS 2.1 isn’t really clear about it, there are property differences compared to CSS 2—
text-shadowdo all appear to be removed.
All properties have been linked to their most recent specification. Usually, it shouldn’t mean a problem that most of the links already point to CSS 3, but there are one, two cases where the specs aren’t in sync yet, for example concerning
Some ominous question marks exist since the affected properties don’t seem to be specified in CSS 3 yet but will, like
position, most likely be part of it. But it could also be that I missed the corresponding module if it hasn’t been linked from the CSS roadmap.
Then, some numbers: CSS 1 specifies 53, CSS 2 122, CSS 2.1 115, and CSS 3 224 properties; overall, there are 253 different properties (again, not including descriptors). The initial letters of all properties almost use the entire Latin alphabet, except for “j”, “k”, “x”, and “y”. Yet, as I’ll suggest to the Working Group to be more innovative
About the Author
Jens Oliver Meiert is a German philosopher and developer (Google, W3C, O’Reilly). He experiments with arts and adventure. Here on meiert.com he shares and generalizes and exaggerates some of his thoughts and experiences.
Respect Jens; thanks for this, it’s good to have memory refresher in one place.
Wow, a whole lot of work has gone into this. Nice work!
Some things are hard to include in such a list, for example various values for the ‘display’ property are currently defined in four CSS 3 modules. Another example is ‘float’. In my own list of CSS properties I’ve resorted to multiple inclusions of these properties.
On March 27, 2008, 17:34 CET, Dave said:
It seems useful, but I’m not sure how.
Coming from the direction of the actual standards docs, CSS level 1 and CSS level 2 are both Recommendations. CSS 2.1 is still just a Candidate Recommendation…it’s recommended for implementation, but still not concrete. Unfortunately, it has to make changes to level 2 rather than just adding on. Developing for 2.1 is not technically stable, and level 2 will not be stable once 2.1 becomes a Recommendation.
Much of Level 3 is still at working draft status, so that’s not really reasonable to develop for.
It’s so ridiculous. The browsers claim support for various levels of CSS, but their implementations are partial. Beyond that, it’s somewhat irrelevant what level of CSS they claim to support because we can’t specify in our code what level we coded for. Lately, I get a feeling several times a week that web development is held together with string and chewing gum. The web won’t suddenly break, but it’s ridiculous that humanity can create elegant concepts like normalized relational databases and still we have to struggle through using the rat’s nest that is HTML+CSS+browsers.
Tomasz, James, thank you—indeed, this took some time!
Rijk, you’re right, it wouldn’t just be a challenge but almost impossible to illustrate all values, combinations, dependencies, and so on, especially on screen… Thanks for sharing your properties list!
Dave, yes, but there won’t be many changes to CSS 2.1 anymore, at least not concerning properties. Maintaining the CSS 3 properties will be demanding but also show the true value of the index. As for targeting certain CSS versions, well, actually it is fine this way but I understand your concerns… after all, it would be awesome to ever be able to work with everything out of CSS 2!
By the way, discussion on www-style brought up some suggestions that I’ll gladly address once I got an impression of the most important measures and the overall maintenance effort.
On August 3, 2010, 9:29 CEST, Roshan kumar said:
most of the cases css3 does not work properly so can i know about the reason because due to the this fault we can’t use for the client…
On July 7, 2011, 6:04 CEST, David said:
Wow, great resource, thank you!
I’m not sure if you’re still updating this project, but I think it might be helpful if there was a way to filter by categories, uses, or some other way. Most people won’t look through the entire list, and if they already know the name, they’re probably looking for detials/tutorial about it. Well, that’s IMHO anyway. Thanks again, and well done!
On February 21, 2012, 20:07 CET, Wingnut said:
There’s lots of broken links on the click-thrus to the spec modules… in your css list. For example, none of the “font” properties click thru correctly, because somebody made a mistake over in http://www.w3.org/TR/css3-fonts/ where each anchor name requires -prop after it.
Your list… http://www.w3.org/TR/css3-fonts/#font-style
Its a mistake in the spec document itself. All the anchors are mis-named.
Also… maybe take a click through on the hyphenate-before. Its gone from http://www.w3.org/TR/css3-gcpm completely. Last time we saw it was in http://www.w3.org/TR/2010/WD-css3-gcpm-20100608/#hyphenate-before .
Not sure if the click-thrus are important to you or not. I made my own list, derived from yours, over at http://webpages.charter.net/wingthing/html/propIndex.htm and it has the very same problems that your list does. Do you have some SAY in the W3C CSS working groups and/or know Bert and his gang of upstarts? Could you get that fonts spec/module fixed for us both/all? That’d be great.
Know how to find where hyphenation went? It looks like some work needs doing on MANY of the module docs. I just picked a couple of problems. There could be many. If you wander over to my list, take a look at the props with the question marks next to their names. Are they, or should they be… missing from your list? Anyone with info on these subjects… feel free to mail me at wingthing at charter dot net as wanted… thanks. Best wishes, everyone! Wingy
Wingnut—I’ll have a look, thank you. While I prefer to link to the CSS 3 spec, respective modules are certainly the most “volatile” so these problems may occur.
On April 9, 2012, 18:56 CEST, eags said:
Probably more useful to list browser compatibility instead of which css version. I guess it depends on the purpose of this document. If it is for developer to know what their options are, it isn’t very useful as is.