CSS Standards and IE
Improvements, priorities, security...
Top priority is security - not just mechanical "fix buffer overruns" type stuff, but innovative stuff like the anti-phishing work and low-rights IE. For IE7 in particular, the next major priority is removing the biggest causes of difficulty for web developers. To that end, digging through a lot of sites detailing IE bugs that cause pain for web developers was made, like PositionIsEverything and Quirksmode, and those issues were categorized and investigated.
Feedback from web developers on what bugs affect them the most and what features they would most like to see was taken, then a plan was studied on what can and can't be done in IE7. In IE7, many of the worst bugs that web developers hit are fixed, and the critical most-requested features from the standards are added as well.
The following bugs from PositionIsEverything and Quirksmode are now fixed:
- Peekaboo bug
- Guillotine bug
- Duplicate Character bug
- Border Chaos
- No Scroll bug
- 3 Pixel Text Jog
- Magic Creeping Text bug
- Bottom Margin bug on Hover
- Losing the ability to highlight text under the top border
- IE/Win Line-height bug
- Double Float Margin Bug
- Quirky Percentages in IE
- Duplicate indent
- Moving viewport scrollbar outside HTML borders
- 1 px border style
- Disappearing List-background
- Fix width:auto
And added support for the following
- HTML 4.01 ABBR tag
- Improved (though not yet perfect) <object> fallback
- CSS 2.1 Selector support (child, adjacent, attribute, first-child etc.)
- CSS 2.1 Fixed positioning
- Alpha channel in PNG images
- Fix :hover on all elements
- Background-attachment: fixed on all elements not just body
IE team's intent is to build a platform that fully complies with the appropriate web standards, in particular CSS 2 ( 2.1, once it's been Recommended), that is by removing the worst painful bugs that make IE7 platform difficult to use for web developers.
IE is still behind the game today in CSS support. There are some fairly large and difficult features to implement, and they will not all sort to the top of the stack in IE7.
Details on some of the other bugs that were fixed:
- Overflow now works correctly! (That means boxes do not automatically grow any more.)
- Parser bugs: * html, _property and /**/ comment bug
- Select control: CSS style-able and not always on top
- Auto-sizing of absolute positioned element with width:auto and right & left (great for 3 column layouts)
- Addressed many relative positioning issues
- Addressed many absolute positioned issues
- % calculations for height/width for abs positioned elements
- <?xml> prolog no longer causes quirks mode
- HTML element truly independent of the Body (now gets its own width, height etc.)
- 1 px dotted borders no longer render as dashed
- Bottom margin bug on hover does not collapse margins
- Several negative margin issues fixed
- Recalc issues including relative positioning and/or negative margins are fixed now
- CLSID attribute of <object> tag no longer limited to 128 characters
- :first-letter whitespace bug fixed
- Descendant selector now works properly for grand children when combined with other selectors
- First-line and first-letter now applies when there is no space between word :first-line and opening brace {
- Pseudo-classes now are working as expected if selector is excluded
- The :link selector works now for anchor tag with href set to bookmark
- Addressed !important issues
- PositionIsEverything piefecta-rigid.htm now works
- List-item whitespace bug fixed
- Fixed Absolutely Buggy II
- Absolute positioned elements now use always correct containing block for positioning and size information
- Nested block elements now respect all overflow declarations (hidden, scroll, etc)
- Fixed the opposing offset problem (absolute positioned element with all four top, bottom left and right are present)
- <a> tags nested within LI elements will no longer add extra bottom margin when hover occurs
- We no longer lose the image aspect ratio on refresh
- Cleaned up our ident parsing according to CSS2.1 rules
- Fixed parsing bugs for multi- class selectors and class selectors that are combined with id selectors
Other W3C specifications:
- Enable :hover on all elements not just on <a>
- Background-attachment: fixed works on all elements works
- Improved <object> fallback
New features from CSS2.1 added:
- Min/max width/height support (also for images, which did not work in IE7b2)
- Transparent borders
- Fixed positioning support
- Selectors: first-child, adjacent, attribute, child
- A couple of CSS 3 attribute selectors: prefix, suffix and substring since we were working already in the code base (also the general sibling selector)
- Alpha channel PNG support (Not a CSS feature but too important for designers)
Source: http://www.microsoft.com