molly.com
Thursday 22 December 2005
Star HTML and Microsoft IE7
Chris Wilson, Group Program Manager for IE Platform and Security at Microsoft, and Position is Everything’s Big John Gallant have been having a conversation about * html in Microsoft’s upcoming Internet Explorer 7 for Windows (IE7). Wilson has been encouraging CSS designers and developers to repair any bug-specific hacks for several months now. Gallant remains unconvinced the solution is that easy and is afraid countless, unpaid hours of repair work will wind up on the shoulders of those designers and developers who have employed * html related hacks in their designs.
Universal woe
Hacks for browsers typically do one of two things. They exploit a bug (a flawed implementation) or they exploit the complete lack of an implementation. In the case of * html the hack is based on a bug. Child selector hacks, on the other hand, are based on the fact that IE versions up to 6.0 do not include any implementation for child selectors whatsoever.
The popular Holly Hack and related IE workarounds exploit a browser bug in which the universal selector, *, in CSS is misinterpreted. The bug is present in multiple versions of Internet Explorer. The hack is used primarily to correct a number of layout issues related to IE’s proprietary layout model.
With the bug repaired, Wilson says universal selector-related hacks will fail in IE7’s strict mode (compliance mode). The bug remains present when IE7 is running in quirks mode, and in that mode, the hacks will understandably work. Wilson began advocating that the Web design and development community prepare for change back in October. Gallant wants to know how the changes will affect you via a poll at p.i.e..
Is the entire kafuffle a non-issue until we actually have IE7 and see what we really get? Or maybe we can learn from Tantek Çelik (Technorati, WaSP) who advocates that bugs including * html be repaired; and that implementations such as child selectors (which are often used in tandem with the Holly Hack), could be held off until a later date if necessary.
Exploiting a software bug to create a hack becomes dangerous as software is updated and bugs are repaired. While somewhat less danger exists when implementation issues are addressed, what happens when the implementation is introduced and it, too, is flawed? This is why hacks are so problematic, but just how these particular hacks in IE7 will affect the community is still vague.
Me, Me, Select Me!
The faulty interpretation of the universal selector is currently present in the following versions of Internet Explorer:
- Macintosh: 5.0, 5.15, 5.21
- Windows: 5.0, 5.5, 6.0
The bug is present in both quirks and standards mode in these versions. Here’s a look at what happens in these IE versions when the universal selector is involved:
| Selector | IE Interpretation | W3C Interpretation |
|---|---|---|
* html |
html |
Matches no element (the html element is root and therefore never has an ancestor) |
* * body |
* body |
Matches no element (body is the first child of html only) |
* html body |
html body |
Matches no element |
Have layout?
IE layout, which is IE’s determination of how elements are drawn, bound, and behave, has been a bit of a mystery for some time. This is largely due to lack of documentation and discussion about the issue. Dean Edwards (WaSP, WHATWG), Gallant and others went in search of better documentation for hasLayout. Markus Mielke, a Microsoft program manager working with Wilson, joined in the conversations which bore fruit.
Two good references that emerged regarding IE layout are On Having Layout and HasLayout Overview in which Mielke writes:
There are several bugs in Internet Explorer that can be worked around by forcing a layout (an IE internal data structure) on an element (like, dimensional bug fixes and Holly hack). Most users are not aware of the implications of having a layout applied to an element. - HasLayout Overview, Markus Mielke, Microsoft
Mielke’s article, which cites the input of Edwards, Gallant, Wilson and WaSP among others, goes directly to the heart of the * html concern.
Road to repair
Gallant says that the * html hack in CSS is “the only hack that is going to cause serious pain” and believes that the hack “could probably be retained without getting in the way of any actual support enhancements” that Microsoft has planned for IE7.
Wilson points out that the goal is to fix IE, and getting there is a process. “I want to remove the * html hack to make it useful . . . because it will then only apply to obsolete browsers.” He also shares a dislike for any hacks at all. “All CSS hacks are too risky in the long run, unless they only apply in orphaned or obsolete browsers, period. Tantek Çelik said this; I agree with it very strongly.”
Gallant states that the “time to kill the * html hack is when Vista arrives, presumably without the layout problem.” Wilson feels that fixing the browser is most important. “The Holly hack, and I say this with the greatest of respect, is an elephant gun solution. Sometimes it’s an elephant you’re trying to fix. Sometimes it’s a mouse. Some elephants are fixed in IE7, some mice are. We will not fix every possible layout issue in IE in IE7, however, and it’s unrealistic to expect we can do so.”
Filed under: professional, standards, software, web design and development, WaSP
Posted by: Molly | 10:30 am |

December 22nd, 2005 at 11:11 am
Can someone explain to me why they are making such a fuss out of this. If they are now ignoring “* html”, what exactly is the problem? The page still does not render right because Internet Explorer gets a lot of other things wrong? Or what?
What exactly does Chris Wilson mean with avoiding this hack? That we have to switch to some other hack? Obviously we can not rely on interoperable implementations. Or at least, I think not given all the “remove this hack, please” commotion.
December 22nd, 2005 at 11:12 am
What troubles me, deeply, with IE7 is the apparent inclusion of better selector support, without addressing more than a few of the CSS bugs the browser carries, and without actually implementing anything other new and noteworthy from CSS2.1/3. This will make it much, much harder for developers to create layouts that take advantage of the extended opportunities other browsers offer. Or rather: It will make providing graceful degradation for IE7 users much harder.
December 22nd, 2005 at 11:18 am
If they would fix their CSS error handling there will be similar kind of problems.
‘_width’ is suddenly ignored and different style sheets are imported.
I suggest a way to interoperability instead of repair. For example, instead of ignoring “* html” selectors right away the IE team could have chosen to first start on fixing all the issues they would get in doing so.
Replacing one hack with another does not really solve the problem we have here.
December 22nd, 2005 at 11:18 am
Molly: Any word on how the underscore hack will react in IE7? I much prefer the underscore hack to the * HTML hack and I’m wondering if the same behavior (or lack thereof) will now occur in solutions using underscore instead of * HTML.
Also, any word on whether IE7 will be an automatic update installed via Windows Update? I think the whole world probably wishes that this is, but I’ve talked to friends near the IE team multiple times and none of them are sure if the consent decree Microsoft signed with the DOJ will allow it.
December 22nd, 2005 at 11:21 am
IE7 will require the * html hack’s removal, right? Still, won’t the * html hack be necessary - Specifically - for IE5.0, IE5.5 and IE6.0?
So, should we use Conditional Comments with universal selector hacks for obsolete browers? Or, will Child selector hacks suffice for both obsolete and current browsers? Or, should we use something completely different?
December 22nd, 2005 at 11:22 am
s/a way/a road/… Duh.
December 22nd, 2005 at 11:36 am
What I don’t understand is that people who are saying “fix the IE bugs!”, then, when the IE team fix a bug, such as * html, they then complain.
December 22nd, 2005 at 11:36 am
I question alongside Anne with the comment that if IE7 simply ignores the “* html” hack then shouldn’t the page show up normal as in Firefox or Safari and that only IE6 read the hack? Why is there such a fuss about all of this? Does anyone know what will truly happen?
December 22nd, 2005 at 11:47 am
Regardless, IE 7 is not out, and we’ve heard promises like this before. I don’t fix a hack until a product is ready and launched - we are talking about IE, who has promised much in the past. Again, talk is cheap, I’ll wait to see some actuall proof of improvement.
December 22nd, 2005 at 12:16 pm
I’m more excited about implementing less hacks in my new designs than I am dreading the possibility of repairing old ones.
I still think Microsoft should fix everything all at once. They say it’s impossible, but in the time between the last IE versions and today, there have been how many brand new, standards compliant browsers released? Why can’t a multi-billion dollar company keep up with a few open source projects?
Maybe it’s time to ditch Triton and license Geko or KHTML/WebKit or Presto. I say you snooze, you loose.
December 22nd, 2005 at 12:22 pm
I wrote a post closely related to this topic a few months ago and I’m still not a big supporter of simply getting rid of the “hack.” Unless I’m missing something, the issue seems faily clear. The hack targets IE browsers that have faulty layout issues. If IE7 fixes all those issues and behaves according to W3C standards, why should the hack matter? According to what W3C states, the hack doesn’t affect anything in standard-compliant browsers. If IE7 is as good as they say, it should ignore the hack and just render everything normally while IE6 and lower will still use the hack.
I guess I’m with Sam and Anne in my wondering about all of this. Am I missing anything big?
December 22nd, 2005 at 12:49 pm
So does this mean IE7 will ignore the universal selector all together now? Or will it just ignore it when it is paired with the html tag?
I laud Chris Wilson and the others who are working so hard to fix so many things with IE. I also know it’s a HUGE job. But, regardless of all this fixing, I doubt that there will ever come a day when we as developers won’t have to do something special (like these new conditional statements) just to make IE play nice with HTML and CSS.
Sound a bit pessimistic? Yes, admittedly it does. But can anyone honestly see Microsoft saying something like,
December 22nd, 2005 at 12:51 pm
So far - I’ve managed to avoid using this hack. I can’t justify it anyway because there are few few instances where it’s needed (especially when ‘BODY’ can be given different attributes anyway). The lack of support for the hack hasn’t helped it either…I suspect this is a hack that will fade from people’s code sooner rather than later. If IE7 doesn’t support it - then that won’t be much of a loss IMO.
December 22nd, 2005 at 1:25 pm
“If IE7 fixes all those issues and behaves according to W3C standards, why should the hack matter?… If IE7 is as good as they say, it should ignore the hack and just render everything normally while IE6 and lower will still use the hack.”
This is what I keep trying to say, but not in words that anyone seems to grasp. Hopefully yours will meet with greater success.
December 22nd, 2005 at 1:48 pm
I agree with Eric, et al. If IE7 properly ignores the hack, then what is the purpose in removing it? Even if IE7 STILL has other issues with the proper implementation of CSS, leaving the * html hack in isn’t going to affect IE7 one way or the other.
So, exactly why are we circling the wagons?
December 22nd, 2005 at 1:52 pm
“If IE7 fixes all those issues and behaves according to W3C standards, why should the hack matter?… If IE7 is as good as they say, it should ignore the hack and just render everything normally while IE6 and lower will still use the hack.”
If. If. If. My main concern is the big If. When Chris Wilson goes on to say:
“We will not fix every possible layout issue in IE in IE7, however, and it’s unrealistic to expect we can do so.”
…it worries me. We won’t know for sure until there’s a beta, but IF IE7 manages to fix all the bugs we’d use * html to hack around, and IF it doesn’t introduce new bugs in the process, then I’m okay with * html going away for all the reasons Eric has described.
Except, what about the rest of CSS2? When they start moving beyond bug-fixing mode, how are we going to compensate for, say, all browsers but IE getting generated content right? IF they happen to implement new CSS support flawlessly the first time, it won’t be an issue.
I think my main problem with this CSS hacks issue is that the IE team appears to be willing to lay out their course of action, and expect us developers to follow. That’s great if they’re also planning to give us some form of transitional methods to cope during IE’s growing pains over the next few years, but… so far the attitude feels a little bit their-way-or-the-highway. I’m not at all comfortable with that.
December 22nd, 2005 at 2:22 pm
Oo I get to make a “me too” comment!
The “parsing bug + rendering bug = hack” equation is exactly the reason such hacks can’t be trusted in the long run. The hack only works as long as both bugs are present. If only the parsing bug is fixed the browser doesn’t see the corrective declaration and the design breaks. If only the rendering bug is fixed the browser will still see the corrective declaration which suddenly becomes incorrect and the design breaks.
You can’t fix one without fixing the other. If IE7 fixes “* html” I hope they first fix EVERY rendering bug that the filter has been used to circumvent.
December 22nd, 2005 at 2:43 pm
Personally, I have to agree with Dave with the “IFs”. When was the last time MS launched a perfect bug-free product? Or anyone else for that matter? We are just dreaming if you believe IE7 will be.
As for the transitional methods, what would they be?
December 22nd, 2005 at 3:02 pm
The problem is that if some items are fixed and others aren’t than the * html hack is useless to us anyways. We’d need a way to target IE7 in other ways. And those ways are leaning towards conditional comments.
December 22nd, 2005 at 3:05 pm
[…] #8212; nortypig @ 9:07 am Molly has just posted Star HTML and Microsoft IE7 which just about covers everything to ever know about th […]
December 22nd, 2005 at 3:31 pm
I’ve been less concerned about the IE team removing * html as an option for targeting IE7 as perhaps I should have been providing of course that IE7 does what we are expecting it to do.
I’m also in total agreement with Eric’s reasoning; if IE7 ignores the hack and IE5/6 do not, what is there for us to ‘fix’?
December 22nd, 2005 at 6:34 pm
I’d have to agree with many posts above, “I’ll believe it when I see it”. Do I trust the IE team to deliver compliant code? Well, they already said they aren’t going to be up to snuff with the other browsers, so I would imagine that not only will existing hacks be necessary, especially for those who have not upgraded, but also *new* hacks will need to be made in order to work around the inabilities of IE7.
Their mess isn’t going to bet better, it’s going to get worse.
That said, I am glad they are trying to improve, and I think we should encourage their work.
December 22nd, 2005 at 7:03 pm
Eric, I’m glad I’m not alone in my thinking. Thanks for the support.
Dave, I’m with you completely. That’s one of my biggest concerns too. If they don’t fix all the bugs then it makes me kind of wonder why they bothered doing only part of it. Chris says’s it’s unrealistic to expect them to fix them all. I can’t help but wonder why. I’d be happy to wait for them to fix them all if it provided a more pleasant experience when building sites.
Now this all isn’t to say that I’m no glad they’re fixing things. While it took a while, I’m quite happy that they understand the need to fix these things. The problem is that if they’re going to resurrect a browser to compete with other more modern ones, they should go all the way and really wow us with everything fixed. If they do that, the star hack would still be ignored and there wouldn’t be any problems.
When that post was made telling developers to completely do away with CSS hacks, I got the same feeling, Dave. I find it hard to believe that every developer out there will go back and “fix” their sites to work with the new IE7. Instead of them telling us that “it’s their way or the highway,” shouldn’t it be us telling that to them after all these years?
December 23rd, 2005 at 12:55 am
The only elephant I see is this discussion about * html. I cannot agree more with Anne on this one.
As far as I can see * html is our tool to distinguish IE6/5 from the other browsers and hack around these browsers. IE6 will be around for a long time. A lot of companies use Windows2000 as their platform and IE7 won’t be available for them.
So, IE7 is not going to be perfect and bug free. Would anyone really be surprised if it wasn’t the case? It’s a matter of time before someone figures out how to ‘hack’ IE7 (apart from conditional comments) after IE7 is released.
Until IE7 is released, I’m not going to change a single line of CSS. Just sitting waiting.
December 23rd, 2005 at 2:21 am
What I find funny, that in all my year it was a goal to keep your website backwards compatible, and know we are talking how to keep our site forward compatible???
December 23rd, 2005 at 2:24 am
It would be a minor effort for MS to indicate which bugs and hacks (the obvious/bigger ones) have been fixed, and which haven’t. Instead of us guessing and trying, I’d welcome them doing this. Apart from that the community will obviously immediately start looking for new bugs and hacks.
Some fixing will most likely have to be done. With all the differences around, no one could blame you for your css not working properly in a browser you have never seen nor tested, so I imagine that it’ll be accepted that there is a (transitional) period in which we get aquainted with this new browser’s quirks, during which sites might look a bit crappy in it. It’s not as if from day one everybody will have IE7.
Personally, I try to avoid hacks, and usually this is quite doable even for very complex designs.
December 23rd, 2005 at 3:58 am
I think Gallant is right and it will wind up on the shoulders of those designers and developers who have employed * html related hacks in their designs. But I am like Peter and always try to avoid hacks when ever possible!
December 23rd, 2005 at 5:02 am
Malarky wrote:
“I’m also in total agreement with Eric’s reasoning; if IE7 ignores the hack and IE5/6 do not, what is there for us to ‘fix’?”
If you read Big John’s new information, there is a bug that the IE team aren’t going to fix (apparently), that the usual fix for is the * html hack:
http://www.molly.com/star-html-poll-comments/
December 23rd, 2005 at 6:20 am
I very strongly disagree about the pain that will be caused by the * html hack. The hack used is almost completely irrelevant to the danger of using a hack in the first place. It all comes down to what you’re using the hack for and those using it to fix bugs in IE which are already known to be fixed in IE7 (e.g. min-width, the layout bug, etc.) will have no serious concequences whatsoever.
Using a hack like the child selector so that the buggy browser gets the first rule and newer CSS2 browsers get the latter is problematic if, for example, any CSS1 only browser which doesn’t suffer from the same bug gets the CSS intended for the buggy browser. This situation may not exist, but what if it were a CSS3 selector to hide from a buggy CSS2 only implementation? In that case, any non-buggy CSS2 only implementation would also get the CSS intended for the buggy browser.
Using a hack like * html is far safer because it is well known to only apply to IE and the chance of any existing or future browser implementing the same bug is virtually nil. It is even more safe now that we know that bug has been fixed in IE7, so using it for IE6 bugs which are known to have been fixed is extremely safe.
The only ones who will get burned by their use of hacks are those that over use them for every little problem, instead of only where absolutely necessary. The biggest lesson authors need to learn is that hacks must be used as a last resort.
The best solution is usually to try and find an alternative hack-free method that produces the same result, even if it means a little graceful degradation instead of pixel perfection.
December 23rd, 2005 at 7:03 am
I’m glad to know I’m not alone…
I feel like I post a comment about * html every time IE hacks come up on a blog.
I still don’t get Tantek’s logic on this one hack. It is a *targeted* hack. We know IE5.x and IE6.x (Win) will pick it up, and we can be quite certain no other browser ever will. These versions of IE have major CSS bugs that require special CSS instead of the standards-compliant CSS other browsers get. Thus, we can use this hack to deliver the needed adjustments to just these browsers with their problematic implementations and be assured no other browser will pick up the custom code.
Perhaps IE7 will still have bugs to work around. We’ll deal with that when it arrives, but we need not worry about * html blocks messing up IE7. (btw, I never use quirks mode, so that is an assumption here.)
I’d much prefer writing correct code and adding custom blocks to for special browsers than write specialized code and apply correct code through something like html>body, as Tantek and others have suggested. To me the logic of the former makes much more sense.
Maybe the real issue here is how people are using * html. My main use of it is for correcting box model problems in IE5.x, and I use another hack to reapply the correct settings for IE6 (once again, this is inside a * html block, so no other browsers are affected, period.)
And don’t get me started on conditional comments…
December 23rd, 2005 at 1:06 pm
Well, I sure hope the IE team don’t listen to the PIE team this time. The whole idea about keeping the ‘* html’ hack is insane.
We don’t need another IE version with tailor-made hacks for broken standard compliance. The fact that it won’t be up to specs is bad enough.
December 23rd, 2005 at 1:19 pm
‘Star HTML’ would be a great name for a book wouldn’t it?!…..
December 24th, 2005 at 7:50 pm
[…] lot to be said for not taking advantage of browser inefficiencies or bug-mess to produce a web site layout and I for one am glad to have resisted the urge. Mind you, it’ […]
December 25th, 2005 at 4:05 am
Agreed on the “why the fuss?”
Looking over my websites, 99% of where I use the * html selector is to fix a handful of very specific IE bugs (three pixel jog, doubling margins, guillotine, peekaboo) - all of which have been announced fixed in IE7.
So, perfect! All standards compliant browsers, and IE7, get the modern code and will Just Work. And IE6 has an extra rule or two that fixes a few specific bugs it has.
The problem would be if * html was _retained_ in IE7, not the other way round!
I love * html even regardless of the above, it’s the ideal CSS hack for me. Completely valid CSS, which simply can’t match anything in this one weird HTML language that I happen to use. No browser of the future will select anything with it.
And then, well, there happens to be IE, but that’s okay, I can give that a few minutes of extra attention whenever it can’t keep up.
December 25th, 2005 at 8:55 am
Microsoft is concerned that IE7 is not ready for the Web *as is* and is therefore suggesting that the Web be modified in anticipation.
This won’t happen. The public beta is not due out for months and the sheer quantity of testing required will mean that the mass of Web publishers and developers will cast their most effective vote by doing as little as possible.
Microsoft as an organization does not have a clue as to the number and range of IE-related hacks that have been implemented over the years. People will tend to stick to the current practice of centralizing any hacks in the stylesheet. Microsoft’s suggestion that we smear conditional comment tags all over the HTML structure will be ignored.
My viewpoint is different from most of those who have commented, who probably work for the open Web. I have worked in an IE-only development environment for 7 years. On top of the bugs in IE5.x, which were not fixed, IE6 brought in a ton more, esp. with its playfully named “standards” mode. IE7 will do the same.
These bugs go way beyond piddling layout deviations from a W3C norm.
I recently had the pleasure of consulting with a team of programmers making a public site. The tag soup turned over by a nationally known and expensive Web design firm was a misery for them to deal with. Fixing the tag soup was not in the timeline so my contribution was very limited. However, I did get an opportunity to see IE6 and Firefox behave in both the public and secure sections of the site. Firefox was rock solid, even dealing with code that was hoary long before Firefox was born. IE’s behavior, on the other hand, swept the gamut from laughable, to infuriating, to bizarre.
No, I’m sure that when IE7 is released, any fault of * html will be the least of our troubles.
Brett
December 25th, 2005 at 10:57 am
Better to fix all CSS bugs in IE and then tackle the * html parsing bug in IE.
December 25th, 2005 at 11:23 am
(My response was accidentally deleted by Molly, and she encouraged me to make my points again.)
Being one of the bunch who added the one or the other sentence to
the haslayout article, I am glad to see this article gets cited, and
I would be happy if the article would be a read, well understood and
discussed article.
Unfortunately the discussion about the hacks touches the haslayout
issue. The Holly Hack is one method to apply layout to an element.
Instead of discussing the pro and con of hacks (while avoiding the
discussion what a hack is), the focus should be set on the by far
more interesting issue that a couple of bugs cannot be fixed in IE
without layout, and another couple of bugs are triggered by layout
in situations were layout is inevitable.
To the former, we hear the bugs will be fixed in IE7. Great. To the
latter, I somewhat missed the information that the layout model is
changed in IE7. Will a simple dimension still induce a new block
formatting context?
Name it an elephant gun solution if you like to, and you get a good
impression what kind of animal the current layout model is and what
it induces in light weighted css pages.
In fact the editors of the article planned to add a section with the
working title “Avoiding haslayout”. I did not have any idea how to
fill it. Instead, Georg and Philippe added a section called
“Similarities with the CSS specs”. Guess why. Avoiding layout is not
possible in real pages, so we have to reverse engineer and simulate
the behavior of layout in the other browsers. Oh well, these have
bugs too.
When we speak about avoiding hacks, we should clearly emphasize the
second part of the sentence, “whenever we can”. A while at the css-d
list trying to answer the layout questions of those who bang their
heads against the IE bugs learned me being modest in that matter.
December 25th, 2005 at 5:01 pm
as before, it seems to me that the IE team are getting the cart before the horse on this issue. here’s a simple imploration that somebody will hopefully pass on:
stop fixing the bugs exploited in css hacks unless you also fix the bugs that cause developers to use hacks in the first place!
December 25th, 2005 at 10:27 pm
well said patrick!
December 25th, 2005 at 11:34 pm
My problem is that I can’t get a copy of IE 7 beta, so I can’t test anything I have done. The least IE could do is toss us a bone and let us all get IE 7 beta when it’s ready.
December 26th, 2005 at 9:14 am
Didn’ t I say the same thing:
Better to fix all CSS bugs in IE and then tackle the * html parsing bug in IE.
-> refering to a few posts after me:
patrick h. lauke says:
December 25th, 2005 at 5:01 pm: as before, it seems to me that the IE team are getting the cart before the horse on this issue. here’s a simple imploration that somebody will hopefully pass on:
stop fixing the bugs exploited in css hacks unless you also fix the bugs that cause developers to use hacks in the first place!
December 26th, 2005 at 6:56 pm
indeed…i didn’t read all the comments before making my exasperated cry. even better then, i’m not the only one who is pulling his/her few hairs out here
December 26th, 2005 at 9:39 pm
Ok, so I guess no one knows a damn thing about the consent decree or the future of the underscore hack then. Carry on…
December 28th, 2005 at 7:23 pm
[…] f New York » Star HTML And Microsoft IE7 Molly has just posted Star HTML and Microsoft IE7 which just about covers everything to ever know about th […]
December 31st, 2005 at 9:18 pm
[…] Molly has a great cross post about Star HTML and Microsoft IE7. […]
January 2nd, 2006 at 10:14 pm
There are lots of issues in play here. Not least the constant talk of getting rid of the selector bug in IE7 but precious little reassurance that the rendering bugs will be fixed. Frankly the nightmare scenario for IE7 is that they fix the selector bugs but leave the rendering bugs. Their conditional comment solution does NOT suit everyone and it only covers one of the browsers out there (here’s wishing Firefox had a unique selector bug, frankly).
I feel that the IE team’s attitude could use some re-adjustment on this issue. The implication in what I’ve read is that web developers are at fault for using hacks and the IE team are on the moral highground for deigning to work on a new version. If their product hadn’t been buggy in the first place, we wouldn’t have had to use the hacks in the first place. So don’t put it on us!
On a more practical level, we’re being told “don’t use hacks” despite the reality that we have to feed different CSS to different UAs. Sure, you can produce a design that doesn’t need hacks. So long as it’s a really simple design, you’re ok. If it’s something that your real life client has decided on however, it’s probably going to need a hack or two. Usually for IE.
On a different tack, I’d quite happily see a selector added to the CSS specification to allow browser/version specific rules to be set in a valid stylesheet. Obviously the old browsers wouldn’t support the selector, but new browsers could happily ignore CSS rules which don’t apply to them. Some people think that’s a terrible breach of the pure standards idea, but if we can specify media types I don’t see why we couldn’t think about specifying target UAs.
January 3rd, 2006 at 10:30 am
Am I alone in finding this conversation somewhat tedious?
@Arve:What troubles me, deeply, with IE7 is the apparent inclusion of better selector support, without addressing more than a few of the CSS bugs the browser carries
@Ben Buchanan: Not least the constant talk of getting rid of the selector bug in IE7 but precious little reassurance that the rendering bugs will be fixed.
etc:
Try reading:
http://blogs.msdn.com/ie/archive/2005/07/29/445242.aspx
“Though you won’t see (most of) these until Beta 2, we have already fixed the following bugs from PositionIsEverything and Quirksmode:
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
”
which seems to me a fairly comprehensive set of cases where one would need to use the * html hack in the first place.
Another poster above said, quite correctly, as far as I can see: “if IE7 simply ignores the “* html” hack then shouldn’t the page show up normal as in Firefox or Safari and that only IE6 read the hack?” Quite.
The only sensible point for debate, it seems to me, remains whether the above statement will be TRUE in practice. I have hope that it will. Until IE7b2 is released, I don’t see much point us debating this topic at all, quite frankly.
@Dave Shea: “Except, what about the rest of CSS2? When they start moving beyond bug-fixing mode, how are we going to compensate for, say, all browsers but IE getting generated content right?”
Why do we need a hack for this? If IE7 doesn’t support generated content immediately, why can’t we simply continue to use MOSe (Dave - see your own site at http://www.mezzoblue.com/archives/2003/06/25/mose/ ..) IE7 later releases would just start to see this later when it supports it, and ignore it if not.
January 6th, 2006 at 10:03 am
This is all wrong. If you’re listening, Microsoft, and want to improve your browser, buy out FireFox and bin IE. Don’t make things more confused and complicated than they already are!
I hate to say this, but if you design your site with a light use of tables for structural markup and no workaround hacks, you’ll fare much better with all the potential IE changes - all the sites you’ve worked on in the past won’t suddenly turn around and bite you on the backside. They’ll still work fine. There’s a difference between a concept world where CSS rules and everything displays fine, and the
real world. Until standards are adhered to, the web developer/designer is very much at the mercy of the browser company.
If a developer acts on the best information at the time, then should it fall to Microsoft to take responsibility for the changes to the affected websites? I’m sure they won’t, but the only way they will get the message is if they feel it in the wallet.
January 9th, 2006 at 9:18 am
I just hope IE 7 will totally ignores the star, underscore or other IE-specific css hacks. That way we can still serve the stylesheet to IE 6 and 5 which we might need to do anyway since browser adoption can take a couple of months, if not years.
What really worries me is that IE 7 might only fix partial css bugs, and we will have to find another css hacks/filters to serve another style just for IE7.
When will this ends
?
January 18th, 2006 at 8:21 am
I’m still confused how people can talk about one of the benefits of good HTML being that you shouldn’t need to update it when new browsers come out, then go and use hacks that could quite possibly break when a new browser comes out.
This has always been part of the problem with non-standard code and having to deal with new user agents.
It’s for this precise reason that I try and avoid using hacks wherever possible, to the extent of changing a design if able.
January 18th, 2006 at 9:58 am
Surely the worry is not that IE7 will break page layout because it can see the IE6-specific hacked code (it won’t, of course), but that it won’t interpret the main body of the style sheet - the part developed for more standards-compliant browsers - correctly.
What Microsoft appear to be saying, in a roundabout way, is that IE7 won’t be properly compliant. Reading between the lines, I’m guessing that some issues related to Layout will remain.
For example, will IE7 support content: and the :after pseudoclass, as used in the code that makes block elements enclose inner floats? If it doesn’t, how will we give IE7 pages Layout without destroying the layout in every other browser? (Or to put it another way, will we need an IE7-version of the Holly Hack?)
January 27th, 2006 at 2:20 am
[…] Update: 23/12/05 Molly has just posted Star HTML and Microsoft IE7 which may be of interest if the designers over at Future Medium drop by to read this article. That’s not saying that the star hack will break when IE7 finally arrives with its bug fixes but there’s a good chance they won’t get it right first time. So the hack may cause you some difficulty down the track. So its more a case of being aware of the issues and making a personal choice on using or not using such a hack I guess. […]
January 31st, 2006 at 12:14 am
Raison de la Mourt: Une
Here’s the first of many reasons why IE should be destroyed. M$ spends years developing proprietary code for their browser, forcing standards designers to hack around so that things that any reasonable modern browser (read: Firefox, Safari, Opera…
February 1st, 2006 at 7:22 am
There is a css hack that works for all versions of internet explorer, including ie7. You can read about it here:
http://www.ibloomstudios.com/article7/
April 2nd, 2006 at 1:54 am
[…] I always thought they were just notes for readers. Yesterday I had cause to implement my first Internet Explorer CSS specific code – exploiting the well known ‘star HTML’ bug. However, it’s rumoured that this bug will be fixed in Internet Explorer 7. […]
July 17th, 2006 at 8:31 am
So, nearly one year later, where is the new information? IE7B3 is out. How does it work? I don’t want to install it over IE6 just yet because I need to test for IE6 until IE7 is released and then I can allow it to overwrite IE6.
Update this CSS compliance issue, please!
August 3rd, 2006 at 11:11 am
Well - IE7B3 is a nightmare. It requires you turn off your spyware/adware tools and antivirus utility prior to install, which is just irresponsible, considering they have been coding Microsoft tools for decades. If you try to install even after that, you might fail because of certain protected registry keys. Oh, it will ask you to reboot anyway. Don’t bother.
Once you get the message that IE7 has been foist upon your machine successfully, you can reboot. Prepare for a shock when you try to use it. It is likely you will receive either a “page cannot be displayed” error, a hung page, or a partially displayed page minus many features/components/text.
Should you wish to restore normalcy by uninstalling IE7, you can do so, however, even after rolling back to IE6, your browsing experience with IE remains hosed. Reinstallation of XP SP2 did not help, nor did reinstalling IE6, so there is something wacky with the way the DLLs or even the registry settings are playing with it.
November 24th, 2007 at 12:50 pm
all the sites you’ve worked on in the past won’t suddenly turn around and bite you on the backside.
December 17th, 2007 at 4:21 pm
Molly, I love your web.
Greetings from Poland (yes, here you have readers too).
January 11th, 2008 at 11:38 pm
I use it every time and get a good results.
January 23rd, 2008 at 6:55 am
All standards compliant browsers, and IE7, get the modern code and will just work. Bye.
January 27th, 2008 at 6:06 am
enabba […] Molly has a great cross post about Star HTML and Microsoft IE7. […]
January 29th, 2008 at 8:24 am
http://pricingprice.info/texas-fringe-handbags.html
January 29th, 2008 at 12:22 pm
thanx
February 6th, 2008 at 4:36 am
thanx
February 7th, 2008 at 2:41 am
Great Page Molly! Many useful information.
February 25th, 2008 at 5:37 am
nice molly
April 1st, 2008 at 11:56 am
Interesting. I do find it interesting that we tend to hear less of this kind of thing with the other browsers like FireFox or Opera, but I suspect it’s only because they are used far less. Or, that they are not as complex as IE since they are standalone browsers. IE plugs into Windows itself, so that Windows works as a browser, and so it makes sense that they have a heck of a lot more issues than any of the other browsers. Perhaps this means that the standalone idea will, at the end of the day, still be the better idea even for Microsoft but I doubt they’ll ever consider that direction ever again.
April 2nd, 2008 at 3:01 pm
wery Nice blog. tnks travestiler
April 7th, 2008 at 3:07 am
it is easy to find it, i think u just search on google or yahoo
April 8th, 2008 at 7:12 am
but, i think it is another thing which you have
April 8th, 2008 at 4:51 pm
i like it
April 8th, 2008 at 10:16 pm
interesting, thanks
April 9th, 2008 at 7:23 am
do you know everything about css?
April 9th, 2008 at 3:57 pm
how can i find everything about css?
April 10th, 2008 at 5:33 am
A lot of promises have been released about fixing some errors at IE. People have waited but only a minimum has been solved or almost solved. Hopefully, IE tech people would hear us out, IE users. We are getting impatient.
April 10th, 2008 at 6:09 am
what do you want to learn about css? we can help easily
April 11th, 2008 at 9:27 am
i want learn too, i want start at the beginning of css
April 16th, 2008 at 2:29 pm
thanx
April 16th, 2008 at 2:29 pm
www.forumset.net thanx
April 21st, 2008 at 3:15 pm
it is good t see u
April 21st, 2008 at 6:48 pm
nice job.
April 21st, 2008 at 6:48 pm
Thanks,very nice blog.
April 21st, 2008 at 7:22 pm
thats the matter i want to learn
April 21st, 2008 at 11:31 pm
ok,thanks
April 22nd, 2008 at 1:45 pm
I have been a frequent visitor of this blog for some time now, so I thought it would be a good idea to leave you with my thanks
April 24th, 2008 at 6:57 am
Big Thanks man ! Im learn this article and think its is great job. Bye
April 24th, 2008 at 6:58 am
hi, umit. how is going on