I had high hopes as I began to read the early beta versions reviews of IE7 and the numerous fixes they had over IE6. I had seen some of my work in IE7 and was pleasantly surprised that it worked. Then I began to dig deeper.
The problems began when you have used hacks or filters to feed specific CSS to IE6. Now those who use these knew they would potentially cause future problems and that Microsoft approved conditional statements would be the better choice. However in some cases – particularly in the instances where you inherit code or time is of the essence and you simply do not have the time to separate them all out – a designer would opt for the quicker and dirtier solution of a hack.
The problem is that, essentially, not all of the problems from 6 have been fixed in 7. So you now have the new star hack – a version of the underscore hack where you can use *property: values to feed a separate CSS to only IE. Unfortunately, 6 picks up on these as well and typically does not break in the same way – normally on heights and the box model – so you must follow with either an underscore hack or the * html property filter – called the tan and/or holly hack I believe – to fix 6. So now you have an extra filter in addition to one you shouldn’t have/need in the first place.
Again, the short and simple solution is to use the conditional statements. While semantically they are very inelegant, they will make your life as a designer much easier. Hopefully IE8, or future updates of 7, will fix these issues. It is a vast improvement so I am hopeful. The fact that they copied many of the good elements from the other browsers out there – including add-ons, a variation of the extensions from firefox – is a good sign. I don’t typically say this, but my hat is off to the Internet Explorer team.