CSS and IE7 - current bugs in IE7

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.

Share and Enjoy:

  • BlinkList
  • del.icio.us
  • Facebook
  • Furl
  • Google
  • Live
  • Reddit
  • Slashdot
  • Spurl
  • StumbleUpon
  • Technorati
  • YahooMyWeb
  • Digg
  • Ma.gnolia
  • NewsVine

Leave a Reply