A very long time ago, as a CSS enthusiast, I wrote an article called ‘IE6 Just Won’t Die’ and it was significantly more angry than this one. As a CSS developer, IE6 just made me a little crazy. IE7 was a step up, but there are some common pitfalls for the modern CSS programmer who still needs to support IE7. Here are the top ones I have seen in the last month.
For the love of all that is good and right, stop using negative margins. Yes they are very handy when positioning has to be just right, but they should make you feel a little queasy. There is always another way, and you should take it! They create confusing code, and IE7 will ignore negative margins on any element that is contained by another elmement which hasLayout. This is very hard to avoid, as it is triggered by specifying absolute position, floats, and dimensions, among other triggers.
Pseudo-Classes :hover, :active, :before :after :last-child, :nth-child
Pseudo-Classes :checked and :disabled