What would you want in an "advanced CSS" course?

Drew McLellan and I presented our first Beginners CSS Course last week here in Maidenhead. We really enjoyed the day and, from the feedback received so far, our delegates did too. We had a mix of attendees – from those who had done very little HTML to those who were comfortable with the basics of CSS – but by the end of the day everyone was building CSS layouts using positioning and floats.

One of the things we were asked on the day and have been asked while advertising this course is whether we will do an “advanced CSS” course. The problem I see with “advanced CSS” whether that be a book or a course is that getting good at CSS just takes practice. The concepts we teach in Beginners CSS and that I have written about in my books are the building blocks that are needed to work with CSS – everything else is just combinations of those same techniques – and a lot of practice!

However, given that I’ve not built a layout using tables since 2001, I’m probably not the best person to decide that there is no need for more advanced courses so I’m asking the question of you. Particularly if you would consider yourself an intermediate standard CSS developer. What would you want to see in an “advanced” CSS course – or book for that matter?

Maybe an “intermediate” CSS course would be an easier target? Now, offhand I can’t say I know what you cover under the “basics” umbrella, but I imagine its floated layouts, positioning runes, getting the most out of background images rather then gutting graphics up, and the like? Maybe getting into spites / background image rollovers but not much more complex?

To me the next step from there would be a combination of more complex positioning cases [using resetting origin then using abs. positioning], some of the negative margin based column techniques, using negative margins in general to overlap elements .. and then starting into more interactive concepts and how you’d use CSS as a part of something bigger – start with gratuitous use of :hover and then go using JS to swap classes [vs. setting style directly]. And finish off with some other “goodies” like trying to get transparency working, rounded corners, generated content, etc.

I agree that practice is the best method of advancing your CSS skills, however, designers can benefit from some pointers, providing they are ‘real-world’ techniques supported by ‘real-world’ browsers. Books like CSS Mastery are good, taking your basic grasp of CSS and leading you down the ‘advanced’ path rather than books like Pro CSS Techniques talking of advanced CSS capabilities that aren’t supported by IE (despite the hate for it, still the most used browser!)

I reckon advanced books are allowed to cover the same techniques and/or tackle the same problems as intermediate books would, except they should be cranked up a notch. For instance; creating a 3-column layout, but not only a 3-column layout, but an elastic layout with equal-height columns, with background-images, borders, the whole shebang.
Or vertically aligning something without knowing in advance how high the element will be.
I think by just adding parameters like that, you can turn intermediate stuff into advanced stuff :)

Johan Olsson
on the 06 Nov 2007:

Something I would have appreciated are things like:

- When and where different CSS methods are practical, and when they should be avoided.
- Tips about good CSS in a Content Management environment. A lot of CSS tips found on the web are unpractical on big, dynamic sites.
- Good CSS structure for increasing maintainability – making code easy to read, namestandards for class/id etc.

Posted a response? Enter the URL

This site uses Webmention. If you post a response to this post on your own site, and you also support Webmention I'll be notified automatically. If not you can add a link here.

Article URL

Contact me

I am @rachelandrew on Twitter, and most other places online. You can email me at me@rachelandrew.co.uk.

I would love for you to check out my products Perch and Perch Runway, if you need a CMS for your site and care about your mark-up and site performance.