CSS A complete Journey at Java Users Group

I was asked on short-notice to fill in for the Java Users Group, and to present CSS. I have so much fun speaking, teaching, and learning with fellow developers that it was a no-brainer to say yes. However, what was so unique to me is I’m not a Java developer. I’m a C# / ASP.NET developer. It really emphasized to me one of the really cool truths of internet development: there are 1000 server-side technologies and web servers you can use to host your content, but at the end of the day, there are just 3 types of content that get rendered through the web to the client’s browser: HTML, JavaScript, and CSS. (Granted, browser plugins allow for other things, but not natively.)

All your base are belong to GatesSo, after the full disclosure disclaimer, we from opposite sides of the technical globe were able to discuss Web 2.0 very effectively.

I’ve presented “CSS – A complete journey” before, and it just keeps getting better and better. CSS has some quirks, but it’s by no means hard. Once you understand how to reference CSS from the page, how to attach styles to elements, and a bit about order of precedence, everything else is just futzing with browser incompatibilities.

Here are the slides and sample code we used during our discussion on CSS. Included is the page from CSS Zen Garden that we adjusted using the Firefox Web Developer Toolbar plugin. Included as well is the Box Model discussion from Brain Jar’s site. I wish I had created each of these brilliant works, but alas, credit is due to their authors.  Included as well is the positioning mini-site I built to show the effect of float, position, and overflow.  And as with HTML and JavaScript, this is a client technology.  You can view source on any page you can see, look through their CSS, and discover how their solutions work.  Thus every page on the internet can be a learning tool.

I look forward to next month’s Java Users Group, where they’ve invited me back to discuss “Thinking in JavaScript”.  We’ll look at how we can leverage our knowledge of C-style syntax, OO principals, and html DOM to become instantly productive in JavaScript.  I can’t wait.