I could agree with that, but I found design extremely unpleasant. For instance: it's almost impossible to vertically center a <div> inside its parent <div> in CSS without some obscure magical CSS-guru hacks which usually include creating wrapper <div>s. Why should I change my markup to adapt to browser's representation? Why can't I just v-align: center it?
Are those rules? Sure. But extremely frustrating rules... and that's only the technical part of design!
Don't get me wrong, designing is an awesome tool for your belt, but I found it extremely frustrating. Maybe I'm the one to blame for it?