There has been much anticipation and intense hype surrounding the release of Internet Explorer 7. Improvements range from better security issues to customization of user features; but the excitement in some web developers has been prompted by the compliancy standards of CSS that IE 7 embraces.
CSS Standards Compliance in Internet Explorer 7 - Bugs Still Existing in IE 7 (Page 4 of 4 )
There are still many reports around the Web about Internet Explorer bugs, and while I wouldnít expect that they would fix each and every one of them (why not?), it looks like the vast majority of them are going to be corrected. Included in the list from MSDN were these for which I couldnít find a description, and havenít experienced personally: moving viewport scrollbar outside HTML borders, the 1px border style, and losing the ability to highlight text under the top border.
I would like to point out something in particular about the asterisk selector used to give explicit rules to IE. The root node selector has long been used to create rules that only work in IE, such as with the use of universal selectors, like the asterisk. In IE 7, since many of the rules that didnít render correctly had to be addressed, these rules are now evident, unlike in previous versions of IE. The problem is now created for style sheets that utilize the child selectors or the universal selectors that contain these IE-specific rules, because they will have duplicated or merged rules that were never intended to be used this way. As you can imagine, this will create a genuine disaster for those coders.
Initially, reports were made by Microsoft that child selectors, pseudo-classes and universal selectors were not going to be supported still in IE 7, but those reports are changing. We still donít ultimately know what will be in the final version, as it is still in beta testing, but what we can see is that a massive amount of bugs with regard to CSS are going to be fixed. While this is good news to most, those that have implemented workarounds may not be so thrilled.
Microsoft has also rethought the way IE handles pseudo-classes. IE uses a very strict interpretation of pseudo elements in the parser, and this would cause certain constructs to be disregarded. Any pseudo-element had to be the very last thing in the selector in versions prior to IE 7.
The CSS2 specification was interpreted by IE in such a way that there can be only one pseudo-element per selector, and it must appear in the last simple-selector within the selector. Because of IE's strict interpretation, in the event of any non-whitespace character or token after a pseudo-element, it wouldn't render correctly, if at all, and an error flag would be thrown into the rule. In IE 7, the error flag is more carefully applied, even though multiple pseudo-elements and pseudo elements in simple selectors beginning a complex selector will still fail. According to Microsoft, this is still the correct interpretation of the standards regarding pseudo-classes.
There are other issues that IE 7 will support, like fixed positioning and child, adjacent, attribute, and first-child selector tags, fixes for any :hover elements, and background-attachment: fixed on all elements, not just body element.
What about support for CSS 3.0?
While the question about IE 7 being compliant with CSS 3.0 is premature, we are still anxiously waiting to see how IE 7 measures up with CSS 2.1 compliancy. Ultimately, while I can hope that it will support some of the standards in CSS 3.0, I still shake my head in amazement that it has taken Microsoft this long to become compliant with the current standards. So I am not going to hold my breath, especially since CSS 3.0 has yet to be released.
Hopefully, since IE 7 has been completely rewritten from the ground up, we can only assume at this point that it can only do a better job this time around, and for CSS 3.0 once it has been released.
DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.