Details on our CSS changes for IE7

We are currently locking down IE7 for shipping and I wanted to give an update on the CSS work that went into IE7. Chris originally outlined our plans for IE7, and we listened to a lot of feedback (blog, connect database, conferences, our WASP partnership etc.) to help us address the most grievous bugs and prioritize which features to put in for IE7. I like to thank especially the contributors on this blog for their participation. Your feedback made a difference in deciding what issues to address.

We understand that we are far from being done and we know we have still a lot of work ahead of us. IE 7 is a stepping stone in our effort to improve our standards compliance (especially around CSS). As an example, in the platform we did not focus on any proprietary properties – though we may try out new features in the future using the official –ms- prefix, following the CSS extension mechanism. We also work very closely with the W3C CSS working group (which I am a member of) to help clarify assumptions in our implementation and drive clarifications into the spec. I really like to thank everyone who helped us here.

In all, we made over 200 behavior changes (bug fixes or new features) under strict mode to improve CSS2.1 compliance. All this work (with the exception of transparent PNGs) has been done under the <!DOCTYPE> switch only, since all changes required behavioral updates to be more in line what the CSS spec specifies. To preserve application compatibility we will not make any behavioral changes to “quirks mode” as it has been established since IE6.

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 to not call it out J)

Better Standards Support…But as we’ve been continually reminded, better standards support in IE also means some pages break. As we struggle to balance the needs of our user customers with the desires of web developers, we need your help. The only way for us to continue to improve our standards support is to get your help in changing your sites for IE7. We have provided a set of documentation and tools to help you transition your pages to IE7:

The IE 7 Readiness Toolkit pulls together documentation, tools, and guidance for developers, testers, and ITPros to prepare sites, extensions and applications for IE 7.

Thanks for the update!! This is the kind of information that we need as we try to update our products and sites for IE7.

As I mentioned in another post yesterday, could you all make a list of the stuff in the CSS 2.1 spec (or well known bugs) that does *not* work, but that you know about and have scheduled for a future release?

This would be very helpful to those of us who need to know where *not* to spend time trying something that still won’t work for IE7. For instance, my list currently consists of:

– No :focus support

– Need :active support on all elements that can be activated.

– No support for display: table* values

– No support for ‘box-sizing’ to allow border-box sizing when in strict mode.

I’m sure other folks have other lists, but having someone at Microsoft keep a complete list would be a *huge huge* help!

Thanks for all of you and your team’s hard work on making all of this happen!

Beside a list of things that are not supported a list of things that are technically supported but incorrectely implemented and thus showing erratical behavior (aka ‘broken’) would be nice too, although I’m afraid such a list would be way longer than the number of items listed here as ‘fixed’ (‘worked around’ or ‘hacked’ would probably be more accurate).

On the top of such list I expect to see items such as:

– Float model is still incorrect in many cases

– Basic CSS positioning is still incorrect in many cases

– z-index is still incorrect

– inheritance is still broken in almost all cases

– margin-collapsing is still incorrect

The bugs mentioned on PIE are just the tip of the iceberg when it comes to CSS-bugs in IE6 and you should be aware of that. It should also have made you realize that the actual problem must be far more fundamental, as fundamental as the basic visual formatting model implemented in Trident that is probably still based on CSS level 1 and cannot really handle the added complexity of CCS level 2.

From this blog-post it looks to me like Trident has only be patched up to work around certain common problems (sure, it makes you look good), but in essence IE7 will still have a very broken CSS-implementation and that makes you look really really bad because it is the last thing developers want.

Please don’t ship a browser that is vastly different from the previous version, but still as fundamentally broken.

While all the improvements above are great, and sounds like everything is going along good I can’t wait for this to come out to the whole world.

Out of curiosity, there has been no real mention of some of the other things that IE had in it as well. Will they still be in there has support for them improved, planned to be improved? For example SMILE for the longest time IE was the only browser that even supported SMILE I am honestly not sure of any other browsers that do. It would not suprise me if some have evolved to handle it but it has always remained low off the radar. Just curious. However I will be grad to have all the CSS bugs fixed.

It is reassuring that you have both worked to improve standards support and recognized that there is still much standards-support work to be done.

> But as we’ve been continually reminded,

> better standards support in IE also means

> some pages break.

Specifically, pages that were not crafted with those standards in mind or which use browser-specific hacks to make up for the poor standards support in Internet Explorer versions before 7. If breaking those pages gets standards-ignoring Web developers and publishers to replace their IE-centric HTML/XHTML and CSS with standard HTML/XHTML and CSS, then I say break away and let developers and publishers start cleaning up their messes.

I may have a little bit of updating to do myself since I have sparingly used conditional comments to hide IE-specific code that may or may not need to be hidden from IE 7, so I may be able to scale back the scope of some conditional comments or remove them entirely or I may need to extend the scope of some conditional comments to include IE 7. I am leaning toward simply removing them wherever they are no longer needed for IE 7 as I am no more inclined to keep supporting IE 6 now that it is being upgraded than I have been with it languishing for years.

The one concession I will likely make for Internet Explorer 7 is that I will likely use floats for page layouts rather than the CSS "display" property’s "table" and related values (http://www.w3.org/TR/CSS21/tables.html), which are considerably easier to use, but which Internet Explorer 7 still seems to not support. Aside from that, I am inclined to code for the standards and let whatever browser misbehave as it will. I am tired of using and seeing browser-specific code for what are supposedly standards-using pages; if the IE team can keep up its momentum, perhaps we won’t be needing it much anymore. Good luck to all of us! 🙂

How about support the header scrolling stuff for tables? Specifically, tbody. You can read some of the issues discussed here on how IE is MUCH more difficult to get some things working when compared to FireFox:

Markus Mielke, a Program Manager on the Internet Explorer team, has published an exhaustively thorough list of changes to IE 7’s CSS support on the IE Team blog on MSDN. Markus also makes mention of the IE 7 Readiness Toolkit,…

Ah, when you decide to talk about the new gc improvements… would you go into some detail?

I’m curious if you guys are going to implement (natively) the teardown js I’m starting to see attached to onunload… or have you guys figured out a way to do weak references with COM… or what? inquiring minds want to know!

I’m also very interested in hearing details on any improvements that you all might have made in the JS garbage collector (beyond the standard ‘DOM object’ in a closure thing). Are there performance improvements in particular to managing ‘large working sets of objects’?? (i.e. 20K, 30K, 50K, 100K objects present in the system). If you guys fixed this, you’ve not only made my day, you’ve made my whole year! I’ll send whoever did this work a free case of beer (I’ve done this for the Mozilla crew for fixing bugs in Mozilla and its been quite effective :-))

Thanks for your hard work! IE7 will definitely make our life easier. However, I’m a bit disspointed to have heard that you fix specific bugs instead of implementing correct support for CSS2. Thanks anyway!

The Acid 2 test is a bunch of crap. Why on earth we should worry about handling incorrect code is beyond me. You don’t get that kind of coddling in most any other language. Build a complex CSS test using only VALID code, then see who passes.

As to the IE CSS fixes, good work. Though my grudge against IE is intensely psychological at this point, improvements like these do much to erase that.

Dave Massy: thanks for that explanation on the PNG changes. My assumption was based on the fact that some people are telling that the current handling of PNG images in IE7 isn’t much different from the handling of IE6 with the so-called ‘PNG-fix’ (using a filter).

I guess the problem lies in the fact that your PNG-implementation treads gamma-information differently than other browsers. Usually the gamma-informatin stored in a PNGH-image is based on guesses by the authoring tool so it is not reliable and the best way to deal with this is to just ignore this information if present.

As for the ‘native’ XMLHttpRequest; as long as I can’t add prototyped methods to this object it isn’t in my opinion a true native javascript object.

In case the IE team has forgotten, there are other standards too besides CSS, and whether developers use them/need them or not, as a browser IE MUST support them. What about XHTML, DOM, SVG and the many many XML standards? I dont mean to downplay IE7 but then get the standards support right with IE8 rather than focussing on other features.

I’d rather see IE7 have less bugs, but hackability for the few bugs it has, then completally unhackable to client-side solve the last bugs.

I’m talking about things like _height: etc. You’ve fixed that one, and now we need %height: etc. to hack out any remaining bugs.

And a list of bugs that aren’t fixed yet would indeed be helpful. I understand that from a marketing point-of-view you would never publish a list of your own mistakes. But really, it would help the community a lot.

The "fixed" border bugs, including the 1px dash bug and the background-not-containing-the-border-region bug, still exist on elements with hasLayout. Considering the massive amount of bugs with hasLayout, I think the whole concept should be scrapped.

The PNG colorization bugs exist on PNG images that contain gamma correction information. This includes every PNG image created by Photoshop, and so this is a huge problem and makes it a nuisance to create PNG images that display properly in IE.

For those of you who think the Acid2 test is crap just because it tests parsing errors, this is very important and the source of many potential bugs with valid documents. The strict error handling rules are designed to make room for future additions to the CSS standard (such as CSS 3 and beyond). If a browser doesn’t correctly follow the error handling rules, it could have unexpected resutls on valid features that it simply doesn’t support yet. Proper error handling will help reduce the workload involved in supporting today’s browsers several years down the road. The lack of strictly standards-compliant parsing is even the source of many of today’s IE bugs. Also, error handling is just one part of the Acid2 test; it tests a lot more than that.

@Herman: The most reliable way to target Internet Explorer or specific versions thereof is to use IE conditional comments. If you absolutely need in-CSS hacks, the new *:first-child+html {} hack will select IE7 and possibly future versions if the bug isn’t fixed. It relies on the fact that IE seems to treat doctypes and comments as elements in the CSS selectors.

@Michael Bailey: Unfortunately for you, Internet Explorer will start behaving more and more like Firefox and Opera over time. The web development community generally wants improved standard support, and that’s what the IE development team has promised us. As it stands, Firefox and Opera have very standards-compliant bases and years of progress ahead of IE, and IE is trying to play catch-up. If your page works in IE and not in Firefox, it will likely break in a future version of IE too as they fix the bugs you’re apparently relying on. Don’t cling to loose rocks.

Well done people, it looks like IE7 (have the marketing droids been defeated over the IE7+ nonsense?) is going to be a real step forward.

One thing I noticed in the "Cascading Style Sheet Compatibility in Internet Explorer 7" document is that it says in the "Working around overflow:visible default behavior" section: "There is a declarative solution using min/max width/height properties, which are currently not supported." But it says here that they *are* supported, so what gives? Incidentally, couldn’t people fix the overflow "problem" by specifying overflow:auto rather than reaching for javascript?

Don’t let the whingers get you down. Sure there’s a lot of improvements still to be made, but you’ve done a great job so far.

Just wanted to say thank you thank you thank you thank you thank you thank you thank you!!

I have been (for a long time now) a table/gif shim layout guy. I hate doing things that way! But honestly, it’s just too damn hard to do layout properly in css with the current version of IE.

I’ve been saying to people that I don’t care if they add ONE new feature in IE7 as long as they take care of the CSS compliance issue. You guys are absolutely doing the right things here and I couldn’t be happier!!!

Seriously, this is VASTLY more important than anything else included in IE7, (except possiblly security). All the rest of it (tabbed browsing et al) is just window dressing. The work you guys did here will be much more important to the world, even if they don’t know it.

I’d rather see IE7 have less bugs, but hackability for the few bugs it has, then completally unhackable to client-side solve the last bugs.

I’m talking about things like _height: etc. You’ve fixed that one, and now we need %height: etc. to hack out any remaining bugs."

This is similar to browser sniffing and is a detriment to the Web. Hacks are bad techniques and cause more problems than they solve. I just hope this nonsense stops with IE7… Though I am sure people will spend many nights finding more hacks.

Some areas here were glossed over a bit. I’d like to see a list that doesn’t have the phrases: and so on, etc, et al, and many more, several, many, and other ambiguities. Are you going to be able to make a post that has all of these missing details filled in? Will this information be in updated MSDN docs? If so, when do you think we can expect to see that information?

That’s great, but it’s truly astonishing that so ELEMENTARY and at the same time MAJOR thing as {display: table} is not supported though it only needs to write small WRAPPER to EXISTING TABLE RENDERING ENGINE. It’s definitely inconceivable.

Very, very hopefully it will be supported in final release. Thanks in advance, again…

We are currently locking down Internet Explorer 7 for shipping and I wanted to give an update on the CSS work that went into IE7. We listened to a lot of feedback to help us address the most grievous bugs and prioritize which features to put in IE7.

Ever going to fix the slow GIF animations? 🙁 GIFs render so much slower compared to FireFox and other browsers.. I also have this weird bug in IE7 Beta 2(just started to DL Beta 3) where GIF animations will be extremely slow until I do a properties view on them, then they speed up? (?)

Thanks David for the test cases. We will take a look. This is a great example that helps us identify issues and thereby help to improve our support. Same for everyone on the blog that posts test/failure cases or submits connect bugs.

I like the fact Microsoft and the IE7 Team are working hard to make IE7 standards compliant. But, (there’s always a but) there is so much left undone. We couldn’t get real changes in the sea of updates applied over the years to IE6. And yet with IE7 we still have to wait and take IE7 for a grain of salt.

I understand the whole issue of backwards compatibility. But why does it matter. Are people honestly going to be happy with IE 5.5 or IE6 three years from now? I wouldn’t think so, especially with the advent of new blood like FF and Opera. Which are leaps and bounds better than the still unreleased IE7.

With so much running behind IE7 and Microsoft in general, I expected much more than just a patch release sugar-coated as major release. I really believe Microsoft and the IE7 team needs to take a risk and step away from what made IE6 such a terrible browser and experience altogether. Compromise for backwards compatibility has only disappointed users. It creates an expectation of nothing new or dissatisfaction.

I’ve been wary of looking into the problems I’ve seen with IE7 on Woot, as it seems silly to try to figure out fixes and issues with a changing beta, but if you’re looking into problems, we’re seeing some there. Site works great in IE6, Firefox, Safari, Opera, etc. but has some minor issues on the front page and bigger issues in the forums.

Just in case you’re looking for more examples of obscure or odd CSS uses to test out.

BTW, I have no idea it’s related to something, but I’m sure it’s not normal with IE7B3 that I have to use FireFox to order something out of Expedia (Canada in my case).. when it connects to the passport site, it goes in an infinite loop.. that does it each and every time!

I need to correct something I said in a previous comment. The 1px dotted border bug does *not* exist on elements with hasLayout. This appears to have been fixed in beta 3. However, the border/background bug I mentioned *does* still exist in beta 3 with hasLayout elements.

Will the proprietary philosophy of hasLayout eventually be scrapped (i.e., is there plans to get rid of it in future versions). Many, many of IE’s inconsistencies with the W3C recommendations have to do with that (especially concerning floated items).

hasLayout in an *internal* mechanism used by IE to size and position elements in an efficient manner. Layout helps IE to support the standards.

Therefore, it is not proprietary in the sense that it goes against the grain of standards. It’s only proprietary in the sense that it is IE’s specific way for doing sizing and positioning. hasLayout in IE is not intended to ever be exposed to developers, we only know (or care) about it because it helps us to fix certain layout *bugs*. but don’t mistake *bugs* for intended functionality. 😉

Most layout-related bugs have been fixed in IE 7, though some still remain.

Wow Nice, I had thought there was only going to be the fixes originally planned glad to you have some other fixes in there to espec. Transparent borders div less design just got a whole lot easier going forward

You have done a great work on IE 7, although you got MANY senseless comments about IE and MS so evil/bad/ongoing. But I’m sure you knew what you were doing.

I REALLY want to thank you for your work on IE 7. While working on my personal Website I’ve encountered many bugs in IE6 (and even more in earlier versions). IE7 fixes many bugs, and makes it easier to write standard compilant websites.

Of course we all know there’s much work to do. But I think your step to only change the "Standard Compilance Mode" and leave the "Quirks Mode" as it was in IE6 is one of the best ideas you ever had.

If people will find out that Standard Compilant Work will make their Sites better i.e. with using :hover on different Elements they may inform themselves more about the importand Web Standards.

Keeping this in mind, I suggest to further work on the standard compilance. Proprietary work is ok but it should be nothing Designers have to rely on.

Damn, I had so much I wanted to say, and know I don’t remeber anything 🙁

Well, keep on the good work. Just to remember you there ARE people who respect your work 🙂

Although I feel like I’m talking to a wall here I would like to share my experiences of today fixing some rendering-issues on the site that I work for.

It was apparent from the start that these were mostly in some sence hasLayout issues, issues in the same order of magnitude but slightly different from those mentioned on PIE, issues you are now so happilly declaring ‘fixed’. Given some time I can probably easily create a number of testcases that show disappearing content (I actually already have an example at http://therealcrisp.xs4all.nl/ie7beta/css_relative_2.html ), floats going crazy, strange whitespace above or below elements, wrong stacking-order of elements etcetera. Maybe if I were to make those testcases I can sent them to PIE for their soon te be installed ‘Explorer 7 exposed’ section.

At this point I however do not have any intention on creating more testcases from the ones I already have (and have on numerous occasions shared in these blogs) because I never once received feedback on them and looking at the current state of IE7 these issues have not been dealt with and from this blogpost I understand that they also will not be dealt with for IE7. Also it makes me feel like I am doing the basic QA work for Microsoft since these are issues that you cannot simply overlook and so they should be already known to you.

By ‘fixing’ the layout model in Trident you have actually created new (but simular) bugs as the ones you have been trying to fix. The issues I experienced could be dealt with in simular albeit slightly different ways as the known issues in IE6. That however makes for double hacking, once for issues in IE6 and now once again slightly different hacks for slightly different bugs in IE7. That is by no means an improvement, it’s a set-back. IE7 is still as buggy as IE6 is.

I will say this again: please don’t ship a browser with a CSS-implementation in this state, it doesn’t benefit anyone. I hate to be the one to tell you ‘I told you so’ when people (webdevelopers) will see beyond the excited stories here on IEBlog and discover that underneath IE7 isn’t an improvement at all.

Alpha support for PNG images is one of many fixes and features we can get excited about in IE7. Well&amp;#8230; sort of. Following news that the new PNG transparency support might not be as native as previously supposed, I ran…

I’m running Internet Explorer 7 Beta 2 in Windows Vista, and I’ve noticed that, when a page is parsed as XML instead of HTML, the star hack (* html) still works. Personally, I still like to use it because conditional comments aren’t valid XML, but I thought you’d want to correct it for future versions of IE.

Tino: I was vaguely amused by your test case when I viewed it in Mozilla and then in IE till I validated your CSS and noted the warnings… Check out http://www.iamcode.net/css_relative_2_ss for an unintentional side-effect of ignoring the validator.

Dave/Markus: Since you two are the ones responding to this post… Is there any chance that you guys will be releasing a matrix of what’s supported and what’s not? i.e. a full break down of at *least* HTML 4.01 and CSS 1 and CSS 2?

Markus: Since you’re a member of the CSS WG, are you able to give us insights on how soon after adoption of the various components of CSS 3 that IE updates will be released to incorporate the new shininess? 🙂

Also, IE7 handles most of the cssplay site’s < http://www.cssplay.co.uk/ > "Mozilla" pages perfectly. A couple of exceptions use :content and :target. And I’ve been pining for :content for ages… (But there are tricks one can use to simulate it in some circumstances, at least!)

But, IE 7 shows *great* promise. Hopefully, it will be adopted quickly, spurring IE to start releasing patches for the missing stuff that *we* want. And note that we’re really not IE’s target market: consumers and (moreso) corporations are. IE can’t change *too* much at once if people are going to keep using it.

I think MS has done the right thing. Fixing all of the issues people have been clamoring about for years would definitely cause even more breakage than has already been complained about. Someone above mentioned that users perceive some sites as broken in Firefox. From their oft-repeated comments, Microsoft has a strong desire to not have that sort of user experience whenever they can. Unfortunately, sites which are too hideously broken WILL break in IE. If they work in a Gecko-based browser, then it’s likely that the Gecko-based browser has compatibility "fixes" in place to break the spec so that the hideously composed pages "work".

IE 7 is being used almost as much as Seamonkey trunk nightlies by me now. Each browser has its strengths and weaknesses. And its own bugs. Keep that last sentence in mind, people, before claiming that "My Gecko browser does it right and IE doesn’t!"… After all, maybe your beloved Firefox/Seamonkey/whatever doesn’t do the right thing in this circumstance… I’ve had to work around a number of CSS bugs in Gecko over time…

But again, keep up the good work guys. And please keep us informed. I’d hate to see the return of "no one ever hears anything from the IE team, so they don’t exist" once IE7 is adopted…

Fixing CSS? Didn’t they with IE7 b3, heck not, I really hope the next beta or the release get this thing fixed, I really hate to use 2 browsers, and thats just because windows update won’t work w/o IE. So hope is the last thing I can lose.

"Tino: I was vaguely amused by your test case when I viewed it in Mozilla and then in IE till I validated your CSS and noted the warnings… Check out http://www.iamcode.net/css_relative_2_ss for an unintentional side-effect of ignoring the validator."

Your website seems to be down, but I guess you are referring to the warnings about not having set a ‘color’ together with ‘background-color’?

Well, they are just what the validator says they are: warnings, not errors. The validator doesn’t know that those elements don’t actual contain textual content themselves so it doesn’t present a problem.

Also it must be noted that ‘color’ is inherit wereas ‘background-color’ is not. If you explicitly set a ‘color’ on the body-element then all the warnings that the validator will generate about ‘background-color’ in other rules are just bogus.

While IE7 is fixing previous CSS issues I honestly have to say I’m still not impressed. There are still more CSS bugs that I have been reported (for instance positioning forms using definition lists with negative margins causes multiple horizontal fieldset lines to run through the form in Windows 2000 and XP Classic View only in IE) which have not been addressed, and regardless of the new fixes, this browser still doesnt compare to the standard of browsers like Firefox.

Really I can only see myself using IE7 to test websites I develop to make sure the site is usable to all, aside from that I think I’ll be sticking with Firefox.

And some days ago I found another very strange Bug in IE7 Beta3 that looks like some kind of "Guilottine Bug" and "Disappearing Backround Bug" but it can’t get fixed with any known method.

Here’s a <a href="http://www.yaml.de/layout_storage/layout_3col_vlines_v2.html">testpage </a> for this bug. The red and blue background of the columns is made with "border" definition of the middle columns. But when you add Content to the colored columns then strange things happen and in some areas the background color gets lost.

It would be a great things to see all these bugs anymore in the final version of IE7 bebause they are the last real problems of the IE7.

First, let me apologise for the lack of posts recently. I am having real trouble striking the balance between boagworld and proper work! However, I do have a couple of good books for you to check out and a post on the IE blog that almost brought tears

I just have a request. I’m from latin america, and I’ve been usiong IE7, which I think it’s an excellent product. I found a very annoying bug. In latin america we often use the ñ character. If you’re using a english keyboard and you are trying to use ñ, you need to press Alt + 164, but the problem is that whenever I press Alt the address bar get the focus, so the ñ caracter is written on the address bar instead of the textbox. It will be very helpful to us latin americans that you fix this bug.

That question has been asked many times, but I’ve never seen it in this context.

Will you ever start writing a rendering enginge from scratch? – I know, current programming of OS and IE make the rewrite impossible or so you state. >BUT< is it not possible to create a second rendering engine which may be used for the Standard Compilant Mode, while the old engine is still used for OS and Quirks Mode?

This seems to be a good Idea, what do you think? History has shown, that a step like this is for the better.

Besides, as far as I know one of the newer Netscape Versions is a Hybrid of Gecko and IE Engine. So I don’t thinks that’s impossible. After all, YOU work at MS.

And I really think this would make it much easier for you to implement XHTML and such great things 😉

Another question I’m wondering about is wether you looked at the rendering enginge of the Mac IE Versions (I heard it’s a different one and arguably a better one)?

This is a great idea but very hard to do unless you have enough test case coverage backing up your claims. The W3C is currently working on a test suit. Once available, this would be the right mechansim to check for compliance.

We are constantly evaluating CSS3 (we actually did a couple of CSS3 Selectors for IE7). The main focus for us is to get CSS2.1 right.

@DannyS

The MacIE code base was originally based on the Trident engine and then moved forward by the MacIE team (similar what we are doing with IE7). We continually evaluating what architecture makes most sense for the task at hand. Even if you do not see a "complete new engine", there will be progress in the IE platform.

Okay, let’s give the IE guys a break. I’m known for being a stalwart OSS and Firefox supporter, but that they’ve accomplished to kill the highest priority bugs in such a short amount of time is good. Now, IE guys: you still need to go a long ways to implement the rest of the missing pieces. Selectors, stuff… du it, guys, or at least provide a roadmap.

There are other standards too besides CSS, and whether developers use them/need them or not, as a browser IE MUST support them. What about XHTML, DOM, SVG and the many many XML standards?

=================================================

I was wondering if anyone else had taken notice of this. IE7 still has poor css support, despite the improvements, and when you include all the above, IE7 is still a pitiful browser compared to any other.

IE7 has introduced lots of horrible new effects, such as disappearing content, scrolling that does not stop (when using the mouse-wheel), scrolling that jumps in the opposite direction, repaint problems and so on. A pity that fixing CSS support has broken the browser in other ways.

This page ( http://www.udm4.com/ ) shows a SERIOUS bug, in that the bottom div in the center can disappear! Try scrolling up or down. Worse, going to another program and back can sometimes remove the ENTIRE text in the centre column! (I have screenshots of this, which I’ll add to a blog post sometime soon, along with a list of other minor bugs I’ve spotted.) Are you guys sure this browser is ready for primetime?!

A gradient image used for a background is painted white when you hover over the links! It’s down to a reference to a missing element, which should have no effect!

While I am impressed by the fixes, IE7 still has a way to go. Also, for those that are asking, I believe IE7 on Vista is a new rendering engine? So it will not have the same bugs. Correct me if I’m wrong.

I just wish IE would use Gecko, then the vast majority of browsers would use the same engine. That’d be great for testing! Or you could Opera’s excellent Presto engine, which would boost usage of that. Anything but bug-ridden Trident! It’s just too old.

List of around 200 bugfixes and new features in IE7’s CSS engine.&lt;br/&gt;PNG Alpha, transparent borders, all 2.1 selectors, no more double-margin on floats… It’s just so sweet to read :happy: &lt;br/&gt;&lt;br/&gt;&lt;a href=&quot;http://blogs.msdn.com/ie/archive/200&quot;

Seriouslly FIX once and for all the CSS, don’t do more damage to IE, it don’t worth showing this as release candidate 1, is far away from release, I think is time to send IE to the Open Source I would love to dedicate time, fixing IE and I know a lot more developers that would be glad to participate.

But please, rename RC1 as beta 4, imo still far away from release, sorry for being the raven or the bad guy, but your worst friends are those who always says that everything is fine, when it is not.

RC1 is more stable that v2 or 3 however there still seems to be a major memory leak and insatiable desire to increase the memory being used… and also to seize the processor for up to a minute freezing the pc in the meantime….

Now, if you guys manage to get a browser out that exceeds the support of and for standards that mozilla currently has I’ll be singing from the roof tops. If you fail to meet the competition I, along with a good portion of the development community, will be doing the exact opposite. It’s not hard – Open Source *and* proprietary competitors can do it, so why can’t you guys?

>>"Could you leave in the bugs that we use as hacks? [….] I’m talking about things like _height: etc. You’ve fixed that one, and now we need %height: etc. to hack out any remaining bugs."

>This is similar to browser sniffing and is a detriment to the Web. Hacks are bad techniques and cause more problems than they solve. I just hope this nonsense stops with IE7….

Hacks are not ideal, and hopefully we won’t need the underscore CSS hack for IE7 (keeping my fingers crossed). However, since a significant market still uses IE6 I think the best solution would be to write IE7 to ignore underscored attributes ("_height" etc.). In that case, developers can still use the underscore hack to ensure backward compatibility with IE6 even when those hacks may no longer be required for IE7.

For those remaining bugs that IE7 doesn’t solve, enabling %height in lieu of _height for IE7 may be the only recourse for those of us who want standards compliance *and* cross-browser compatibility.

If anyone has any better solutions for this problem I’d love to hear them.

The "clearfix" ref. http://www.positioniseverything.net/easyclearing.html has gained in prominence, and is used in thousands (probably tens of thousands) of sites, and IE7 is going to break all of them. A previous post also mentioned this, but I didn’t see a reply.

Markus/Dave, will you be supporting the :after pseudo-class, or will we have to again resort to adding structural markup to "clear" floated elements. This is not a case of "conditional comments will fix it". Without the :after pseudo-class, any site using the "clearfix" will just break in IE7. I know a slew of corporate sites that will have to be revisited and recoded when IE7 breaks them. Clients aren’t going to come back to the developers asking why IE7 isn’t rendering correctly. They’ll just want to know why it’s wrong and what’s going to be done to fix it. So do we bill the clients for the time it will take to recode for IE7 (and I mean recode the markup not the CSS), or do the developers swallow that cost while you guys release another "broken" browser into the wild that we now have no way of controlling with respect to display issues.

If it doesn’t already exist, can you add support for the :after pseudo-class before you ship IE7 please?

Accessibility of the developer toolbar features is something we are working on for the next update. We’ve got some other new features we are working on as well and hope to have another preview available in a few weeks. We’ll talk more about it when we get there and are confident about the features. All feedback on the toolbar is greatfully received.

I myself have never used the ‘clearfix’ method as mentioned above because when I read about it I realised that it depended on 2 things:

1) IE’s faulty ‘auto-clearing’

2) or support for generated content

As with al of these ‘hacks’ (I consider this method for clearing a hack since it is not the intended use for generated content) that depend on more than one thing there is always a risk that some browser at one point will fail the method as is the case here with IE7 having (partly) fixed their overflow-model but not added CSS generated content.

The best way still to have some sort of ‘auto-clearing’ is to set overflow on the containing element other than ‘visible’ as is described in the CSS specification (and which works in IE7).

True, you can call it a hack, but I fail to see how you can seem to categorically state that it’s "not the intended use for generated content". I don’t see anything in http://www.w3.org/TR/REC-CSS2/generate.html that would invalidate the "clearfix" usage. This generated content "hack" would work for IE7 the same as it does for Firefox if IE7 supported the :after pseudo-class. The rest of the "hack" is used on IE5.5/6. If all the browsers are supporting generated content via the :before/:after pseudo classes, then worrying about the method failing is a non-issue. It is after all part of the specification.

Your recommendation regarding "some sort of ‘auto-clearing’" really doesn’t work where background images are involved on a parent element that contains floated elements. The ‘overflow’ property by it’s definition (when set to visible), means that the content within a containing element will flow out of that container. When the only content is floated elements the parent container’s height will basically be zero. Without some sort of clearing mechanism (ie. structural markup or generated content), any background image on the parent will not be displayed. Setting ‘overflow’ will have no effect.

There are three times as many mobile phones than personal computers. By 2009, it is predicted that there will be 3 billion mobile phones worldwide. This week on boagworld, we discuss an evolution of the web almost as profound at the arrival of the internet

Im very glad to know that you have been listening to designers all arround the world and have been really working to fix the css support. This is a very important step in making IE a better browser.

The sad part is that will take a year or 2 for all user to ugrade his browsers, so wi will have to keep using css hacks for a while, but anyway im very happy to read this post and know that things are changing for better.

I thought that I never was going to say this.. but here you have: Congratulations for you and all the IE developers teem.

Ok, after actually playing with IE7 (RC1) for a few minutes, I can see how it’s displaying in my test case. IE7 is still using the "hasLayout" property for elements, so setting a width or height would make a containing element in IE7 expand to contain floats in the same way that IE6 worked. However we can’t set the width and height without also setting it for Firefox, Safari, Opera, and other standards-supporting browsers as well. Besides the fact that setting width and height isn’t always practical.

…and achieve the correct effect in all browsers without going back and adding structural markup to clear the floats. It will also continue to work as expected when IE7 adds support for the :before and :after pseudo-classes.

The first line sets the height of the parent container, and is meant to target Win IE5.x/6. The second line uses the :after pseudo-class to generate content that will clear the parent container in browsers that support it. The third line uses a child selector to reset the height for the "good browsers" but also includes the min-height property which will specifically target IE7, and kick in its "hasLayout" property, effectively causing the parent DIV to expand its height to contain the floated elements.

Fist my complaint, for user with danish keyboard @ is on the "2" key as a 3. char acces by pressing alt+crtl+2 (or alt gr+2 witch is less convinent), but in IE this will bring up the secound tab, i see no reson for this as crtl+2 also brings you to the secound tab, by bug report on this was some weather disregarded.

@Fabio Di Lupo: PIE is compleatly differnt from IE so to test hanheld get the pocketpc emulator from microsoft.

@Chris Hester: no IE7 on vista does not have a new render engine, vista does though, im not aware excatly how this may change the behavioure on redraws bu i didn’t see any problems with your test on IEb2 vista b2.

@Greg: All browser improvements has this effect you just never botherd support the changes from mozila 0.6 – fire fox 1.5 or safari 1.0 – 2.04.

@Carlos Lone, this might help you even though you problem is fixed, pressing ~ folowed by n ill produce a ñ.

@Brian Lowe: probably because the avarge FF user was told so while being told to switch, and the avarage user of IE referes to it as "opening the internet".

@DannyS, IE for mac’s render is NOT better then the IE for win, they share most of the IE4 code base, and IE for mac ends at version 5.23 the only thing it had going for it up til IE7 was transparent PNG, it’s not fast and has maney render bugs.

@Terry Gif animations will progress slowly threw the first animation untill fully loaded, make shure this isn’t the problem.

@Jason Goh: The acid2 test is largly a test or how the browser handles css code with "errors" in it, like "Background-color: white red;"

Also Safari has had passed the test, even befor opera, and it handels user changes more stabely then Opera, i also find a opera to have its very own set of propritery html atrributs and not supporting some of the standard.

Alot of the errors that has major impact on the out look of the test are inreality minor like single dashed comments <!– ->This shoudn’t show<!- –> witch praticaly never affect any web designer for real.

I agree with David Hammond that the goal should be strict compliency with the standard but so i would like te test to be split it to stages, stict and non strict.

The acid2 test is also more aimed at the public then the actual developer, it is preaty hard to use for debuggin, alto effective in spreading the word about the issue. This is the same with IE 7 i guess they have to make some preaty eye cany to get users to switch or they will not see the point.

I can wait til IE7 becomes main streem and i will be watching my site statistice closely the monts folowing the release. I hope that future update that adresses major updates for css suppor will all be distributed threw critical updates.

It would be amazing if you could make some kind of road map avalible to us, er even just clarify if IE will be entering a short develoment cycle or major release (huge wait and then comes 7.5 or 8.0 with full suppor)?

I personaly have enjoied testing IE7 so i would love to see a short cycle or freequently avalible builds.

Ps. seing as som many posting here seems plisfully unaware that they are not in html "mode" (yet you do not put in line brakes…) and haply make link tags and other funky stuff makes me very happy that IE7 no has phishing filter 🙂

For all of you who wonder what IE 7 brings to the table, read more here. The best part: &amp;#8220;We are already planning for the next IE release and will continue down the road of improving our CSS support.&amp;#8221; :-)…

IE 7 Beta 3 works much better for me than IE7 RC1 except for a problem with deleting an item from the favourite list. The delete or cancel tab in confirmation dialogue doesn’t become active till you hit the task bar area once and back!

Whereas RC1 doesn’t have this problem but has a major annoyance in the shape of internet connection dialogue keeps popping up when I choose another destination out of Favourites menu,asking me to Connect while the net is already on (in my case ADSL). If you click connect it is ok but if you hit cancel or simply cut it,it disconnects the net!

I hope this bug will be soon taken care of. I have P4, Win XP SP2, 512 mb ram, by the way.

In the tools menu, it is good to give delete all option in a handy’ Delete Browsing History’ tab. But, it would be more user friendly to exclude passwords from delete all command as it is a big pain in the neck to type them in once delete all command is passed.. A separate confirmation can be asked as in the case of " also delete settings by add ons".

Apart that I once again call for the IE7 team to keep breaking hacks if needed. When 2/3rd of the Internet users can’t make the difference between the OS and the hardware and does not know the difference between a search box and an address bar, there is something stupid on relaying on hacks just to add some roll-over effect somwhere. Standard compliance is much more important for IE future than backward compatibbility.

Correctly handling xhtml type would be a clever direction to follow, as well as support for SVG. But probably it is not the best interest of MS to support a W3c standard at the exact moment they try to impose their SVG-proprietary-derivative XAML …

With the fast approaching release of IE7 (possibly even this Thursday it’s worth having a look at the changes they’ve made to their CSS support. There’s been lots of complaining that they are still not achieving standards compliance, but this…

IE Blog have a detailed listing of the CSS Changes in the new Internet Explorer 7. Some of the notable points &#8212; Almost all bugs on PositionIsEverything is fixed Other bugs other than PositionIsEverything are also fixed They claim to have extended

After a long wait, the newest Internet Explorer version is out, IE 7 release ( Team blog entry with download link). Without a doubt the most interesting ‘feature’ — as far as us application developers are concerned — is…

I focused on the things I enjoyed and looked for business opportunities that had a fit with my interests. It was at this stage I came across Network Marketing or MLM. My initial reaction was that of probably everyone’ s (another scam to take my hard earned),