CSS: All Properties from CSS 1 to CSS 3
Post from March 27, 2008 (↻ June 12, 2021), filed under Web Development.
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 😉
I’m Jens Oliver Meiert, and I’m an engineering manager and author. I’ve worked as a technical lead for Google, I’m close to the W3C and the WHATWG, and I write and review books for O’Reilly. Other than that, I love trying things, sometimes including philosophy, art, and adventure. Here on meiert.com I share some of my views and experiences.
If you have questions or suggestions about what I write, please leave a comment (if available) or a message.
Respect Jens; thanks for this, it’s good to have memory refresher in one place.
On March 27, 2008, 13:11 CET, James Oppenheim said:
Wow, a whole lot of work has gone into this. Nice work!
On March 27, 2008, 13:26 CET, Rijk said:
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.
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/… 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
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.
Have a look at the most popular posts, possibly including:
Looking for a way to comment? Comments have been disabled, unfortunately.
Perhaps my most comprehensive book: The Web Development Glossary (2020). With explanations and definitions for literally thousands of terms from Web Development and related fields, building on Wikipedia as well as the MDN Web Docs. Available at Apple Books, Kobo, Google Play Books, and Leanpub.