CSS: All Properties from CSS 1 to CSS 3
Post from March 27, 2008 (↻ August 4, 2022), filed under Web Development.
What would HTML be without CSS? And what is an index of all HTML elements without an index of all CSS properties? To address the latter I present a continuously updated index of all properties specified in CSS 1, CSS 2, CSS 2.1, and CSS 3, including their initial values.
Head straight to the properties list, unless you’re interested in a few details:
Most importantly, CSS 3 is still in progress. While I’ll update the index from time to time, properties may be renamed, removed, or added, as references may also change without further notice. I’ll fix them, even faster when you’re so kind to let me know.
There’s a reason to separate CSS 2 and 2.1: Although CSS 2.1 isn’t really clear about it, there are property differences—
text-shadowall appear to be removed.
All properties have been linked to their most recent specification. Usually, it shouldn’t mean a problem that most of them point to CSS 3, but there are one, two cases where the specs aren’t in sync yet, for example regarding
Some question marks exist where 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 the Working Group to be more innovative 😉
I’m Jens, and I’m an engineering lead—currently manager for Developer Experience at LivePerson—and author. I’ve worked as a technical lead for Google, I’m close to W3C and WHATWG, and I write and review books for O’Reilly. 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 a question or suggestion about what I write, please leave a comment (if available) or a message. Thank you!
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.
Maybe this is interesting to you, too:
- Next: Why “Reset” Style Sheets Are Bad
- Previous: The 10 Design Theses of Dieter Rams
- More under Web Development, or from 2008
- Most popular posts
Looking for a way to comment? Comments have been disabled, unfortunately.
Get a good look at web development? Try 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.