Oftentimes in the web development community, you hear people complaining about developing for IE6. However, if you are developing using a robust JavaScript framework like jQuery, is developing for IE6 any different than developing for IE7?
Hardly; in terms of IE7's gain in standards compliance, it's negligible. All of the versions of Internet Explorer up until today, including IE8, have horrible breaks in JavaScript, CSS and DOM implementation. Most of the hacks you use for IE6 still apply for later versions. However, on the bright side, IE9 is shaping up to be quite good, and big progress has been made (I've never thought I'd actually say that).
The gaps and differences in implementation between the spec, and other browsers like Firefox and Chrome are much smaller.
I'd recommend Mark Wilton-Jones's article on IE's numerous flaws for more info.
Javascript & CSS frameworks minimise the amount of damaged caused by IE6, but there is still a number of bugs & inconsistencies between IE6 and other browsers.
IE7 is better than IE6, but only just.
IE7 supports png transparency, which is a massive help in maintaining graphic resources for the site.
- It can display alpha-channel PNGs correctly.
- The calculations for box dimensions are not that far away from the standards.
- Rendering and Javascript performance actually allow you to do something fancy without freezing the users machine every now and then.
- Some security issues have been addressed.
In relation to the other browsers, it shows no improvement at all because the others have made much bigger progress in the same time. It's still the worst of the major browsers and a pain in the b*tt for developers.
Personally, the most annoying thing about IE6 is its lack of PNG transparency. This results in requiring use of AlphaImageLoader for images. The implications of this is introduces its own bugs/inabilities. For instance transparent backgrounds using AlphaImageLoader can't repeat.
Also, there are bugs such as the double margin bug, lack of support for min-height and min-width, adding extra line breaks to floated elements, missing css selectors.
I think most of the improvements to IE7 was performance(javascript) based and trying to get closer to standards compliance for CSS.
Off the top of my head, these were some of the major improvements as I recall:
- Fixed the double margins bug
- Fixed numerous issues with the box model and positioning inheritance
- Inclusion of Developer Toolbar into browser(not a bug fix, but big one for me)
- As noted by others, proper PNG handling
It was a much better browser when comparing it to IE6, when you compare it to other browsers out today, not so much.
IMO, there is a world of difference between IE6 and IE7.
- IE7 supports built-in XMLHTTP whereas in IE6 it requires an ActiveX control.
- IE7 supports a couple of additional pseudo classes
- IE7 fixed some of the problems with z-order and zoom.
- IE7 fixed "a few" of the box model issues.
- IE7 added support for
>
child selector - IE7 added support for adjacent (
+
) selectors - PNG transparency support
Here's a good explanation with some examples: http://www.smashingmagazine.com/2009/10/14/css-differences-in-internet-explorer-6-7-and-8/