I have what seems to be a pretty common CSS inheritance situation, but I don’t understand why it isn’t working as I thought it would.
Here is what the inheritance looks like as seen from the Chrome web debugger

So I would expect my style for “.homeBox p” would override the style for “#mainContent p”. And yet …

The #mainContent p style overrides .homeBox p. What gives?
ID styles override class styles.
For consistency purposes, I try to avoid using ID styles where possible.
Its also useful to avoid using these when you start working with server side scripting which can sometimes re-render an ID (like ASP.NET does for example).