Negative Margins, Hack or Not?
I've come across various posts where people are stating that negative margins are hacks. Thus I've strayed away from using them with 开发者_运维问答exception to particular cases when I can justifiably use them, like throwing text off the screen with margin:-9999px
Question, are negative margins a hack and when is it right to use negative margins? I've seen them used in the 960 Grid System with, .push
and .pull
, any other cases where they are justifiably usable?!?!
Negative margins are allowed based on W3C specifications. I have used them to let things overhang their container.
I would argue it's not a hack: It's defined, logical behaviour; it's supported in all browsers; it can be expected to be supported in future versions of browsers (the absence of future support is the most important argument against hacks).
Also, as @durilai points out, they are officially sanctioned (although with limits) by the W3C.
This Smashing Magazine article supports the case.
I suspect they've been labeled as a hack because of inconsistent browser behavior.
Whenever possible I use position: relative
and negative top and left values to pull elements into new locations. This isn't possible for every case, but I find it behaves more consistently in all the Internet Explorer flavors.
精彩评论