As per request: [webmasterworld.com...] (msg 20)
What is IE7?
The name itself -- IE7 -- suggest a "next generation" version of the browser Internet Explorer. While that's not extremely accurate, it is not that far from the truth. Why's that? IE7 was developed by Dean Edwards [dean.edwards.name] as an open source project aimed to provide standards compliance for Internet Explorer.
As we all know, Internet Explorer has, despite its claims, failed miserably to provide acceptable support for CSS, which is really a pity since IE is by far the most commonly used browser today. There has been a lot of speculation as to what the next generation of IE will provide. Everyone hopes that we will finally see standards compliance along the same levels as Mozilla/Opera/Safari. Unfortunately, the next version of IE is not due to be released for another couple years (along with Windows Longhorn).
Will the future of CSS be crippled by IE's unwillingness to conform to standards it openly claims to support? Somewhat, probably. If nothing else, "CSS folks" and web designers will be extremely limited in what they can do. All the tools are already there, as part of long established CSS standards (again, these are standards that Microsoft and the IE team openly profess to support wholeheartedly). All other recent browsers support CSS as completely as possible, and are constantly striving to ensure 100% compliance and conformance. Except for IE, being the odd-ball.
This is where the IE7 [dean.edwards.name] project comes in. In short, IE7 is described as a "compliance patch [dean.edwards.name]". As Dean himself describes it:
In essence -- by applying the IE7 compliance patch, all versions of Internet Explorer (5 or higher) automagically become standards compliant and will fully support both CSS1 and CSS2!
"Just like that, eh?" Yep! Just like that!
How does it work?
Now, the beauty of this is that you do not need to resort to any hacks. You do not need to alter your markup or CSS in anyway. Heck, you don't even need to educate yourself [positioniseverything.net] with regards to to the numerous quirks and bugs inherent in every single version of IE.
A single line in your (X)HTML/XML document, and all the problems are solved!
How do I use it?
I think I'll let Dean take over [dean.edwards.name] from here. ;) Seriously, if you haven't been to the IE7 web site [dean.edwards.name] yet -- go there! It explains all the technicalities and other tidbits of useful information.
In short, however, all you need to do to make your HTML document standards compliant is include the following lines of code:
Seriously -- that's it!
Pros and Cons
"So, what's the problem here... There must be some drawbacks, eh?"
Yes, there are... And Dean has covered the caveats [dean.edwards.name] as well. Some worth mentioning are:
"So, what does it fix?" How about Alpha transparency for PNG images, fixed positioning, arbitrary :hover, min-width, max-width, sibling/child selectors... You name it! (Or, at least check out the compatibility chart [dean.edwards.name].)
Another drawback is that if you rely heavily on certain CSS properties (such as fixed positioning), your page may render somewhat slowly...
Personally I haven't experienced any of the aforementioned drawbacks. Instead, using IE7 allows me to code more freely, using the tools that can best do the job, without worrying about IE not being able to handle it properly.
Also, IE7 is somewhat modularized... So, there is no need to include ALL the fixes. Just include whatever you need.
All-in-all... IE7 is a lightweight solution if you consider caching and the headaches it saves you. On the other hand... If you can do without advanced CSS, that's a better option.
First code without including IE7. Then see what things look like, and if there are any small custom hacks/tricks/whatever you can use. Then use IE7, if absolutely necessary.