Mark Huot tells the story of overriding poorly written defaults:
When overriding everything we find ourselves writing markup such as
.product-meta por, worse yet,
.product-meta p, .product-meta ul, .product-meta ol, .product-metaomg…. This is all so that we can take our system defaults and tailor them to this very specific implementation. The downside here is that our overrides are only as generic as we allow them to be. If we forget to put
blockquotein our list of overrides then you can forget about using a blockquote in your
.product-metaelement. This is less than ideal and inevitably causes 11th-hour “fixes” to support additional markup patterns you maybe didn’t consider during design and/or development.