If I might add something to Ken g6's excellent post, I'm a big fan of using selector gadget and Nokogiri when "interfacing" with websites (*wink* *wink*).
This reminds me of a very old argument I keep having when doing automated testing. For automated testing, it's necessary to have a program automatically identify a control, or textbox, or even an element of a web page, even if that element has moved or changed. Automated testing tools usually include a way to automatically identify an object; but they also let you manually specify how to identify an object. Personally, I prefer to specify how to identify an object manually, to minimize the chance of mis-identification.
For CSS, I think manual identification is even more important, so you can specify a certain set of objects and no others. I'm trying this selector gadget, but it's not working very well for me. I'm not seeing a way to select, say, all
buttons on this page and nothing else, for instance; or
all images inside all posts.
Edit: Oh, I forgot to mention
my favorite CSS reference! I know, it's pink. D: But it's quite complete, and it links to
a selectors support chart, so you know whether your CSS is supported on a particular browser.