molly.com
Wednesday 21 December 2005
star html poll comments
This page is to take comments on positioniseverything.net’s poll regarding * html implementation in IE7.
Filed under: general
Posted by: Molly | 3:28 pm |
This page is to take comments on positioniseverything.net’s poll regarding * html implementation in IE7.
Filed under: general
Posted by: Molly | 3:28 pm |
December 22nd, 2005 at 1:38 pm
If IE7 would continue supporting the ‘* html’ hack, while fixing the ‘Expanding Box Problem’ all layouts using the HollyHack-StarHtml combo would break (make elements 1% high).
If IE7 stops supporting StarHtml while a few bugs remain that require Layout only a few sites will break.
What we need is a specific way to target IE7 for the (hopefull) rare cases where Layout is still required.
December 22nd, 2005 at 5:09 pm
Historically, the number of working hacks tends to be proportional to the problems in a browser. However, we now face the possibility that a major new browser will remove the workarounds without fixing the reason for the workarounds.
I suppose we could move the hacks into a conditional style sheet, but it means having three major sets of code: IE 5-6, IE 7, and standards based.
One site we did a while ago is a veritable a-z of reasons to use the * html hack. Ok, it’s a complicated design, but a useful test case?
http://www.number10.gov.uk/styles/nomensa.css
New versions of Opera, Safari & Firefox have come out since this was launched with no problem… I’m not quite so hopeful for IE 7.
December 22nd, 2005 at 8:12 pm
I have been told by Marcus Mielke of Microsoft, that IE7 will NOT fix the expanding box problem. If that were going to happen, the Holly hack would be IE7’s mortal enemy, and would have to be eliminated.
December 22nd, 2005 at 8:16 pm
Quote:
One site we did a while ago is a veritable a-z of reasons to use the * html hack. Ok, it’s a complicated design, but a useful test case?
http://www.number10.gov.uk/styles/nomensa.css
—————————
Oh my! I feel your pain, Alastair. That CSS is definetly going to need a CC job. Oy.
December 23rd, 2005 at 4:04 am
I wont be affected at all if the Star-HTML hack stops working! But I feel sorry for all the people who it does affect.
December 23rd, 2005 at 6:32 am
IMHO, the * html hack *must not* be retained under any circumstances. The information given in the poll does not provide any argument for retaining it at all, it only provides an argument for not retaining it if the expanding box bug were fixed. Now that we know it won’t be, the decision of keeping or removing the * html hack is not affected by it at all. If it were retained, yet the bugs it were actually used to address (i.e. the layout bug, min-width, etc.) were also fixed, then we would have serious problems. I cannot stress enough that * html *MUST NOT* be retained.
December 23rd, 2005 at 6:33 am
BTW, my last statement only applies under standards mode. I couldn’t care less what they do with quirks mode.
December 23rd, 2005 at 8:28 am
Yes, the expanding box problem is a pain in the arse. Enough of a pain that you have to wonder why Microsoft hasn’t addressed it sooner, or why they aren’t addressing it with this release, but that is an argument for another time.
Regardless of that however, the larger problem lies in things like this whole poorly documented, little known “has layout” issue. Yes, MS has been forthcoming with more information on this particular issue, but it is exactly these quirky, hidden, proprietary things like “has layout” that are causing the ulcers and migraines.
For now, until there is a publicly available beta release for developers to work with all the rest of us can do is wait and see if MS fulfills its own prophecy in that with the fixing of IE they will in turn break the internet.
December 23rd, 2005 at 12:13 pm
Quote:
“IMHO, the * html hack must not be retained under any circumstances. The information given in the poll does not provide any argument for retaining it at all, it only provides an argument for not retaining it if the expanding box bug were fixed. Now that we know it won’t be, the decision of keeping or removing the * html hack is not affected by it at all. If it were retained, yet the bugs it were actually used to address (i.e. the layout bug, min-width, etc.) were also fixed, then we would have serious problems. I cannot stress enough that * html MUST NOT be retained.”
Some bugs will be fixed, that’s true, but many others will remain, so the need to induce layout will still be needed. Also, as long as the expanding box problem still exists, the Holly hack fix is totally harmless, even if IE7 were to eliminate layout entirely.
Given that retaining the hack has no serious down-side issues in IE7, and does avoid causing lots of extra unpaid work for people, I don’t see why the hack has to be killed at this time. Sure, it would be wonderful if IE was totally compliant and such hacks were gone, but that is not presently the case.
When Vista arrives, it will presumably not have the layout effects, and then eliminating the hack would only affect those who have continued to use it for minor special tweaking. Such tweaking is not really necessary to have complex layout in IE, so there is no pressing need to accomodate legacy coding of that kind.
Between now and then, PIE and other sites will be educating coders that using the Star-HTML hack for easy tweaking may come back to bite them later, so hopefully by the time of Vista’s advent the potiential pain from that source will be greatly reduced.
December 23rd, 2005 at 3:36 pm
IMO, I’d rather they just get rid of it. Its non-standard behavior, and its quite easy to get around it not being there. Conditional comments. Server-side script. Personally, I never use or teach others about parsing hacks. In the end it’s a bug, and we all know that sooner or later bugs get fixed. I really don’t think doing a conditional comment style sheet is much more work and it keeps all that non-interoperable, junk CSS quarantined.
December 23rd, 2005 at 5:28 pm
Quote:
“IMO, I’d rather they just get rid of it. Its non-standard behavior, and its quite easy to get around it not being there.”
That’s a point I’d pick up on, complex layouts are not easy when it comes to working around IE. Take this for example:
http://positioniseverything.net/articles/onetruelayout/example/rounded
13 counts on the * html hack. That’s not a critisism, it’s necessary for complex layouts that work across the mani browsers.
There are things you have to put in for IE that are not needed for other browsers, and are actually harmful for standards compliant browsers.
If IE7 does not fix the reasons for the hack, the best way forward would be to leave the hack as a useful filter. Unless there’s a valid alternative?
December 23rd, 2005 at 6:29 pm
It’s not a question of what’s easier in the future; I will never use the Star-HTML hack again, you can be sure. The problem is all those client’s sites, and my own pages, that I will have to deal with, for no other reason than an arbitrary choice by MS to “do the right thing.” I happen to think that they are ignorant of what the real situation is, and their choice is the wrong one.
December 23rd, 2005 at 7:20 pm
Big John, the issue is not quite as simple as you make it out to be. Your argument for retaining * html is entirely dependant upon the condition that the substutite styles contained within the rule are also subject to the existing IE6 broken interpretation.
Given the example of * html { height: 1%; } (now that we know the expanding box bug won’t be fixed), this is indeed the case, but insert any other substitute CSS for any other bug and you have serious problems if that specific bug has been fixed.
Personally, * html is one of the only hacks I ever use these days (most of my CSS is hack free) and I *only ever* use it to solve ‘min-height’ (because of the expanding box bug) and the layout related bugs (for which the holly hack was devised).
Since ‘min-height/width’ will be supported and most (even if not all) layout bugs will be fixed in IE7, my CSS is unlikely to suffer majorly (if at all) with the transition to IE7 regardless of whether * html is supported or not. But even if it does suffer, that’s the risk we all take every day by using hacks at all and, yes, I would prefer not to, but until the corporate world learns to accept more significant graceful degradation in IE6, we have no choice.
But we must remember one major point Tantek promotes is that hacks should only ever target obsolete browsers. By intentionally continuing to support * html in IE7, that rule is being majorly and very likely irreperably FUBARed.
* html *MUST* remain IE6 and earlier (and IE7 quirks), so that the rule about hacks only targetting obsolete browsers is retained. I agree that * html must be killed eventually, but as long as IE6 retains significant market share, it is a necessary evil, which is why it *MUST NOT* apply in IE7 (standards mode).
I have more to say on this issue, but I think I’ll blog about it on my own blog later. It’s a very complicated issue.
December 23rd, 2005 at 7:31 pm
On the issue of IE7 fixing most layout bugs, that is certainly what MS claims, but the beta so far only fixes the Peekaboo and Guillotine bugs. Even if they fix every bug on their list, the fact is that there are many dozens of bug variants caused by lack of layout. I see a new one almost every week.
I find it difficult to believe that the need for layout fixing will be mostly removed while the basic layout rendering continues to exist. It would be wonderful if that was so, but my experience tells me to be wary.
December 23rd, 2005 at 8:38 pm
I’m with Lachlan and some others here. Keeping the * html hack is insane. It is, so far, the only good news for me that it wouldn’t work anymore in IE7.
1/ pages that use that filter: are we sure we still need it in the future?
2/ pages that use that filter: OK, I’ve some stable code for IE 6, I can attempt to fix the mess in IE 7 without worrying about IE 6.
3/ scanning mailing lists and so, most people use hte star html hack to serve the ‘holly hack’, with a percentage height. Has anybody ever realised that serving {height:1%} to a selector will *never* affect the height of a box, according to css 2.1? (except if that box is absolute positioned or if the parent box has a height specified). Essentially adding the * html hack to it is useless in many cases.
Beside, there are more ways to induce ‘layout’ when needed, and I’m in no doubt that there are way more important issues to work on than dealing with that little * html thingie. Conditional Comments rule, btw.
Chris Wilson, if you happen to read this, you have my full support for removing the * html thing out of IE 7
December 23rd, 2005 at 9:29 pm
So, when we get the next IE7 beta (in which they’ve claimed to have fixed much more than those 2 bugs), we’ll see what bugs are still present and what still needs fixing.
Then, and only then, will we be able to determine what hacks are required and what hacks aren’t, but intentionally making hacks intended for, and *only tested in*, IE5/6 also apply to IE7 when an unknown number of them either will or will not need to be applied is insane.
Why take the risk of sending intentionally broken CSS rules to a browser with mostly unknown bugs/fixes in the hope that they a) don’t cause any other issues and b) they still manage to work around the few bugs carried over from IE6?
December 24th, 2005 at 7:47 pm
Quote:
“Then, and only then, will we be able to determine what hacks are required and what hacks aren’t, but intentionally making hacks intended for, and only tested in, IE5/6 also apply to IE7 when an unknown number of them either will or will not need to be applied is insane.
Why take the risk of sending intentionally broken CSS rules to a browser with mostly unknown bugs/fixes in the hope that they a) don’t cause any other issues and b) they still manage to work around the few bugs carried over from IE6?”
I honestly don’t understand this reasoning. I don’t see anyone asking for a new hack. I just want the old Holly hack to remain in place while it is still needed. Since IE7 still expands boxes and still has the layout problem, the Holly hack will behave exactly the same in IE7 as in all the earlier versions. If the hack is kept, nothing new will happen.
Also, the Holly hack is not “broken CSS,” by any stretch. It uses a valid selector to feed a valid height, and it so happens that IE/Win sees those things differently than other browsers, It is IE that is broken, and this version is not going to change that fact very much.
If IE/Win does not need layout to fix a bug, then nothing is harmed by having it, unless it is used on a block element directly following a float. But layout fixing is virtually never needed in that situation. At least I have never seen such a case.
As to the last issue, I did not, nor am I now advocating continued use of the Star-HTML hack. This issue only concerns already-existing web code that would have to be repaired only because of MS’s decision. Can you give me any clear arguments for removing the hack in IE7, other than pointing out possible risks inherent for hacks in general?
Suppose they do retain the hack, what actual known problems might arise, and how would they compare to the issue I am bringing up? I’m prepared to be convinced, but I need somthing concrete to think about, not “what-ifs” that may or may not happen. I know for a fact that the current track will lead to a big pain in the neck for me and quite a few others.
December 25th, 2005 at 2:36 pm
Take every CSS2/2.1 rule in the specs and count every possible workaround for making IE6 play along and imitate each of those.
Expect a small number of those IE-only workarounds to be fed through a ‘* html’ hack. Expect a small percentage of those workarounds to be in conflict with the improved standard-compliance that the IE-team have projected.
Sum: thousands of targeted fixes that hits the wrong target - found on millions of existing sites. Another hack needed just to keep those targeted hacks from backfiring when IE7 is released. All this because you want to keep the ‘* html’ hack in place for one, single, fix that can be so easily replaced if it’s needed for IE7.
It won’t be my problem, but the ‘* html’ hack has to go. If not, then the next IE will indeed break the web. Sounds like fun
December 26th, 2005 at 11:41 am
IMO, IE6 (in standard mode) is quite compliant in most rendering areas. It was IE5 and IE5.5 that had the serious little flaws all over the place. When IE6 appeared, it fixed a large number of these nagging little issues, while also introducing neb layout-related bugs like the Peekaboo.
My thinking is that any Star-HTML hacks written for IE variances other than those caused by layout, will have been designed to fix IE5.x, and not IE6. The IE7 beta is not showing any real rendering differences from IE6.
MS has enough trouble dealing with security and fixing the slew of real bugs that appeared in IE6. Why would they be tinkering with minor rendering effects that were almost entirely corrected in IE6 anyway? Even if they did, there isn’t that much wrong with IE6’s rendering, unless layout is involved. Poeple savvy enough to use the Holly hack are usually savvy enough to design in ways that don’t need variance hacks sprinkled all over the CSS.
I believe layout drives most current use of the Star-HTML hack. Maybe I’m wrong, but I view a large number of web stylesheets every week, and I’m not seeing Star-HTML hacks that would harm IE7, unless it renders radically differently than IE6, and it isn’t, so far. I do however, see very many sites using the Holly hack, and every one of them would break if the hack is killed.
December 26th, 2005 at 3:52 pm
“The IE7 beta is not showing any real rendering differences from IE6.”
Good to know that IE7 is just a security-update. Then we can ignore IE7 completely, and wait for IE8, 9 or 10 before checking anything. By then the IE-hacks would have become such an integrated part of web design that they can’t ever be fixed. One more opportunity lost.
December 26th, 2005 at 9:19 pm
I’m finding the logic being tossed around here pretty confusing. Humor me for a sec and see if the following statement makes any sense:
Statement A:
“IF IE7 retains any IE legacy rendering bugs AND IF IE7 is immunized from the Star-HTML Hack, THEN IE7 will incorrectly render many websites that use the Star-HTML Hack to work around IE legacy rendering bugs.”
Is my logic sound? If not, you can stop reading now. Thanks for your time! If Statement A is logically sound, then an obvious subsequent statement can be proposed:
Statement B:
“IF IE7 *fixes all* IE legacy rendering bugs AND IF IE7 is not immunized from the Star-HTML Hack, THEN IE7 will correctly render all websites that use the Star-HTML Hack to work around IE legacy rendering bugs.”
Statement B would be logically sound (assuming Statement A is logically sound) because IE7 would ignore kludges that use the Star-HTML Hack.
A reasonable conclusion could be that if Microsoft is planning on immunizing IE7 from the Star-HTML hack, then it should also plan on removing every IE legacy rendering bug from IE7 as well.
December 26th, 2005 at 9:28 pm
As a point of clarification for my last post:
“IE7 is immunized from the Star-HTML Hack” means that IE7 does not have the parsing bug that allows the Star-HTML Hack to work.
“IE7 is not immunized from the Star-HTML Hack” means that IE7 retains the parsing bug that allows the Star-HTML Hack to work.
December 26th, 2005 at 11:11 pm
Legacy rendering bugs should be kept out of the equation, as those are ‘quirks mode’ bugs and should rather not be touched since almost the entire web rely on at least some of them.
It is when we’re dealing with ’standard compliant mode’/”Strict mode” that a really good clean-up is needed and standards should be implemented as close to 100% as humanly possible for that old engine.
Rules that IE6 does understand (buggy or not) are already being used to make IE6 render close to what other browsers do when they are given standard rules that IE6 does not understand. That’s why the IE-team wants web developers to stop using hacks and “clever workarounds”, so they can go on fixing things and bring IE7 up to specs.
Thus, the question is what will be rendered when new rules and old fixes served via a ‘* html’ hack are competing for attention in IE7. Chances are the result will be pretty chaotic at times.
Not so if IE7 is “immunized” from the ‘* html’ hack and brought up to specs at the same time, although I’m sure the result will still be anything but standard-compliant in many cases.
There’s only a few solutions to this.
1: IE7 is just an update of IE6 without any real improvements, and all hacks are working as before. No need to check rendering since nothing much has changed. The IE7-team can leave the job right now.
2: IE7 is improved to the point where it doesn’t need any of the old workarounds. That means close to 100% of CSS1/2/2.1 and a thorough clean-up - which includes getting rid of the ‘Layout’ behavior. Plenty of work ahead for the IE7-team.
3: IE7 is improved half way between 1 and 2 and will break sites all over the web, regardless of what happens to the ‘* html’ hack. Chances are that this is what we’ll get, but I hope not.
December 27th, 2005 at 12:55 am
Georg said:
“Legacy rendering bugs should be kept out of the equation, as those are ‘quirks mode’ bugs and should rather not be touched since almost the entire web rely on at least some of them.
It is when we’re dealing with ’standard compliant mode’/”Strict mode” that a really good clean-up is needed and standards should be implemented as close to 100% as humanly possible for that old engine.”
A reasonable clarification of purpose and scope, to be sure.
However, are there not certain rendering bugs in IE that persist even when the browser is standards-compliant mode? And don’t web developers sometimes use the Star-HTML Hack to work around said rendering bugs?
Certainly, there must be at least one. Let’s take, for example, the Box Model Problem. PIE recommended using the Tan Hack as a kludge (http://www.communitymx.com/content/article.cfm?page=2&cid=E0989953B6F20B41), and I, for one, complied. Unfortunately, the Tan Hack exploits the Star-HTML Hack.
December 27th, 2005 at 1:57 am
The ‘* html’ hack has been used to feed exclusive styles to IE5+ win and Mac for years. Mostly followed by more selectors/hacks to target the right version. One can only imagine which one of all these combinations that may end up in IE7 in ’standard compliant mode’ if the ‘* html’ gets through.
It is time to cut the losses and get rid of the ‘* html’ hack for good in ’standard compliant mode’.
December 27th, 2005 at 4:25 pm
PIE wrote:
“What we need before we can begin converting Microsoft, is some hard data. Perhaps there aren’t that many people who will be affected, eh? Who knows? Well, there are ways to find out, and one of them is by taking a poll.”
If you are really interested in finding out how many sites will be affected, a much more reliable method would be to spider several thousand (or million) sites looking for * html in the CSS. The object would be to determine what percentage of sites use * html. You could go farther and examine (perhaps programmatically) the CSS of those that do use it, to answer your own question.
Microsoft would be far more likely to be concerned if you could show that * html is used on a significant percentage of web sites today. Such info would be based on real-world coding practices, which MS could, presumably, verify on their own.
December 27th, 2005 at 6:27 pm
That’s a good idea! Is there a way to do that? Can the css BE spidered or searched?
December 27th, 2005 at 7:01 pm
Quote:
“One can only imagine which one of all these combinations that may end up in IE7 in ’standard compliant mode’ if the ‘* html’ gets through.”
I’m having trouble imagining any likely combination of code that would cause trouble in IE7, with the hack still in place. Can you be more specific?
December 28th, 2005 at 12:18 am
Q:
“I’m having trouble imagining any likely combination of code that would cause trouble in IE7, with the hack still in place. Can you be more specific?”
A:
Only when I’ve had the chance to rip apart a finished version of IE7 - with the ‘* html’ hack still working. Until then my imagination is no better than anyone else’s on what might get through.
‘* html>body some_selector’ comes to mind.
‘* html some_selector {property: value; property/**/:value; propert\y: value’;} is another well documented version.
I do know for a fact that none of the above will get through if the ‘* html’ hack is prohibited from working in IE7 Strict mode, and that sounds more assuring than anything else I can imagine.
I prefer to deal with IE7 on its own when it arrives - without having to care about any old IE-hacks. I’m not the least afraid that I won’t find a way in to that rendering-engine if/when I need one.
December 28th, 2005 at 9:37 am
Quote:
“* html>body someselector comes to mind.”
Wouldn’t that selector be unreadable by all current browsers? Who would use it?
Quote:
“* html someselector {property: value; property/**/:value; propert\y: value;}”
I have seen such usage, but let’s look at it. Assuming that IE7 continues to read the “* html” part, what then would prevent it from reading the rest? Both of those internal hacks are valid syntax, and IE6 has no problem with them under any conditions.
While I can’t prove IE7 won’t regress and start reading those constructions incorrectly, it’s seems rather unlikely that MS would allow syntax reading errors that they previously fixed to creep back into later IE versions.
December 28th, 2005 at 9:50 am
I have to correct myself; the first selector above could be used to feed rules only to IE/mac. It’s not a hack construction I have ever seen on the web, but I suppose someone might have used it somewhere.
In such a case, I will admit that IE7 might get values that it doesn’t need, but all such cases I’m aware of have employed the safer and more useful comment-based machack:
/*\*/
styles only for IE/Mac
/* */
That browser is the only one that is able to read the above styles, and the hack is reversable too. Also, it does not risk breakage in future browsers as the child hack clearly did.
Anyone who knows about the star-child construction is likely to also know about the good old machack, and will tend to prefer it for its superiority.
December 28th, 2005 at 9:54 am
Sorry, the blog comments seem to have eaten some of my hack-comments! Here’s a link to an explaination instead:
http://www.sam-i-am.com/work/sandbox/css/mac_ie5_hack.html
December 28th, 2005 at 3:31 pm
I quote part of a reply comment from someone in the IE Blog regarding the ommission of the * html hack.
“From here on out it’s either get the rendering engine perfect or go back on their word and continue letting * html do what we’ve used it for even in IE7 standards mode”
I must say i couldn’t agree more, if removing the * html bug renders the site as it’s intended to be WITHOUT any conditional comments, then, THAT is the way to go.
December 28th, 2005 at 3:58 pm
The blog ate some of my example too, but my real examples are working well in today’s IE. I use them for non-critical testing, and they are part of [http://www.dithered.com/css_filters/css_only/index.php] which means that some web developers may actually pick them up and use them.
I know perfectly well how to separate IEMac from the rest of the IE family, and also how to keep old IE from new ones - regardless of how many parsing bugs, and other bugs, they may have. I’m afraid that knowledge is a lot weaker across the web, and it won’t be any better if some “convenient” hacks are left un-fixed.
Whether it’s one type of hacks that need to be fixed or it’s another one, is more or less irrelevant as I see it. IE7 will cause some problems no matter what.
The more hack-induced problems that get fixed with the arrival of IE7, the less problems will have to be dealt with later. Those who won’t deal with this now should rather ask the IE7 team to not release anything but a new IE6 with security-fixes and nothing else. In fact; they’ll get just that since IE7 will handle DTD-less designs just as well/bad as before. That’s the only “hack” weak designs/designers will ever need.
Myself, I want to see an improved version of IE so the web can at least move a small step forward. Just the thought of keeping any bugs because their presence are convenient at the moment, is completely absurd - to me.
December 28th, 2005 at 10:01 pm
My goodness, what a storm in a teacup. Whilst I’ve used the star-html hack in the past, it’s not the best way to do it! Seriously.
IE provides its own set of nice, if a bit quirky, conditional comments you can use to feed it an IE-only stylesheet or even stylesheets based on versions of the browser right back to IE5!
So if you’re still using the star-html hack, you’re very naughty indeed.
December 29th, 2005 at 1:59 am
“My goodness, what a storm in a teacup.”
That’s the only kind of storms we can create out here. We call them “discussions”.
Of course
The conditional comments are in place when needed at all sites I have created, but that doesn’t help anyone else’s sites/work. It doesn’t help the projected progress of Internet Explorer either, in case you have missed the point.
Have a look around the web and see how many “naughty” designers there are behind all those sites. You’ll find plenty, and many of them will have to adjust their work to suit IE7, no matter what.
December 30th, 2005 at 8:39 am
I a bit confused, maybe its because I’m still a student in this field. Never the less, why are we so concerned that IE won’t support our hacks. They are HACKS after all and should be avoided in the first place. I’m more concerned that IE still won’t fix the reason we need to hack in the first place. I’m annoyed that IE is focusing its attention on making it “standards compliant” without fixing the bugs. I’d rather see a browser that maybe doesn’t support 100% of the latest features but what it does support IT GETS CORRECT. Its easy to get around a non-supported feature but with a true bug we have no other choice but to hack.
So here’s where I stand on this. If IE fixes the underlying problems by all means get rid of the hacks, until then we need SOMETHING (hacks) to make it behave.
December 30th, 2005 at 9:04 pm
My position is that IE7 will NOT be free of the layout hassle,
and the most commonly used method to trigger layout is going be
made to fail arbitrarily in IE7, causing a lot more difficulty
than leaving it in would do. We don’t need this hack to die now,
but in Vista, when the need for it will also die. If it is done
that way, the transition will be almost painless, unlike what is
about to happen.
As for the hack being naughty, it became known well before the existence
of conditional comments did. Okay, maybe all coders should have instantly
switched to CC’s then, but that didn’t happen, and even if it had, there
would still be a lot of sites with the Holly hack.
If IE7 was really going to be fixed properly, I would be rooting for the
end of that hack, but it’s not, and layout is still needed. Suggesting that
many people should do a pile of extra site repair work just because hacks
are “wrong” does not cut any ice with me. Let IE be made even close to the
other browsers in compliance, and I will join the coding purity crowd. Not before.
December 31st, 2005 at 12:18 am
Facts regarding IE7:
We’ve been told that the layout problems will not be solved.
We’ve been told that (parts of) CSS2/2.1 will be implemented.
We’ve been told that IE7 will have bugs.
Which parts, if any, of what we’ve been told that’ll be true and/or mean anything to web developers, is completely “in the blue”. It will probably remain there till long after IE7 has been released.
It’s arbitrary, indeed.
Since IE is only “worst in class” when it comes to compliance, no web developer can really claim to belong to a “purity crowd”. An “avoid problems crowd” may exist though. Also, there are apparently a number of “my way or noway crowds” around. All of the before mentioned crowds are probably well founded, so they’ll probably all come out on top one way or another, no matter what. Thus, no big deal.
It is maybe because I don’t see it as such a big deal that I rather see that the IE7 team get rid of as many bugs and bug-reliant hacks as humanly possible - now. It’s about time.
January 5th, 2006 at 3:03 am
I can see Big John’s reasoning for leaving * html in IE7 at this stage, though ultimately it must be removed.
All of these problems would go away if IE7 was going to be as standards compliant as Firefox, Opera etc. Presumably it won’t be because of fear of breaking the millions of sites that were written for IE.
Unfortunately we are stuck with the certainty that IE7 will be a halfway house and as a result we will have to go back and fix any problems that show up in legacy code.
January 5th, 2006 at 7:59 am
Dear Microsoft,
Internet Explorer is a web browser. At the very least I would hope that version 7 of your product will support the basic standards of the web before you consider releasing it. Some would argue that failure to support standards is like selling a car without support for braking. I’m certain many of your users won’t notice the flaw, but web developers who are already overly-annoyed with having to support version 6 may be less likely to try as hard with version 7 should it fail to support minimal standards. The release of any major browser has ramifications that reach many years into the future. Learn from past mistakes. You need to be very, very careful moving forward.
Sincerely,
Hopeful
January 5th, 2006 at 7:55 pm
If Microsoft fixes CSS parsing bugs we rely on for using as filters, without also fixing the rendering bugs that make using those filters necessary, I will take issue with that. Seriously. Especially if Microsoft knows about it, as I’m sure they do.
Isn’t this exactly what we anticipated as our worst nightmare?
January 6th, 2006 at 5:54 pm
Is it just me? The holly hack totally wrecks the layout in Safari 2.0.2.
Is there a way to suse the height:1% aand make it work in Safari?
January 9th, 2006 at 8:39 am
I’ve personally never used any hack other than * html ever. Never needed to.
If IE7 respects the standards enough and ignores my *html rules then whatever I used *html for should not be a problem in IE7.
But overall I really wish they would just push back the release of IE7 until its level of CSS support was at least equal to Firefox.
January 9th, 2006 at 1:12 pm
I was rading one forum post that pointed out the vast majority of problems for IE can only be solved by a complete rebuild from the ground up. Anything else is just lipstick on a pig…, window dressing fi you will.
I can’t help but feel Microsoft has forgotten where they came from… when they were young and hungry for market share… and wanted to put out the best possible product… or when Bill Gates himself crashed winows 98 at Comdex in Chicago…
My point being, as the “tallest hog at the trough” so to speak, Microsoft should do the complete ground up rebuild and get to the same level of standards support as Opera and Firefox. Otherwise its all lipstick on a pig…
Alos, this way, when the world calls their data centers in India, the telephone people there have a job with all the overtime they can handle and all they have to remember is “We’re sorry sir, but we now fully support web standards. Once you’re site complies with web standards all should be right witht he world.”
As “THE” software giant, Microsoft should feel obligated to be in the forefront of promoting and complying with the standards…
January 10th, 2006 at 4:00 am
There will always be browser bugs, so why not introduce browser id in css?
Maybe something like this:
Rule applying to IE 7 only:
#ie7 html p {color:blue}
Rule applying to Firefox 1.5 only:
#ff1.5 html p {color:blue}
January 19th, 2006 at 4:35 pm
make IE disregard * html, make it support min-height/width, make it render the correct height model and all problems are gone…
whatever they do to IE7, they should make it without hacks, living up to the described standards
whatever they do with IE6: they should not change it there (if they’d still be working on some sort of IE6 update, as if…
), so that sites with the hacks in it will be rendered correctly in IE7 and IE6
January 21st, 2006 at 11:11 am
I have only two websites that I work on, both fairly simple. I’m getting really annoyed with MS’s refusal to make their brower standards compliant. I plan to put a footer on my web pages that says, “Microsoft has had cronic security and standards compliance problems with Internet Explorer. Version 7 shows no sign of correcting this. We recommend using either Firebox or Opera for browsing the Web.” and put links in to their sites.
That said, it is time for Microsoft to ditch the IE codebase and start over, even if it means that they ship with an IE that is semi-patched to sort of work, in addition to a standards compliant browser.
January 22nd, 2006 at 4:47 am
As yourself this, which position do you think MS would like to be in?
1. Total standards compliancy, which would ultimately make other browsers a lot more competitive but is a small price to pay for the future of the web.
2. Proprietry code only compatible with IE and due to IE’s dominance, coders are force to abandon standards as there’s not enough support for it.
January 25th, 2006 at 9:59 am
As a web design instructor at Mohave Community College in Arizona (where, incidentally, I had the pleasure of Big John dropping by my classes on occasion to hang out and/or offer CSS expertise), I moved from teaching tables to pure CSS within two semesters. (No small feat considering the antiquated textbooks and curriculum specifications as set forth by the college.)
And as a designer, I developed a deep appreciation for John and Holly’s contributions with regard to complex CSS layouts. However, designing sites on a regular basis for paying customers forced me to give serious thought to keeping things as absolutely simple as possible, including, in some cases, rethinking the design if it requires considerable hacking in order to fly in ALL browsers across ALL platforms and OS’s.
In the back of my mind is always that nagging suspicion of what might happen when Microsoft changes the way IE behaves — for better or worse. It’s not that I don’t like staying busy; it’s that I don’t like rebuilding things that already work, just so they’ll work differently.
Having said that, I must say ‘thanks’ to John and Holly Bergevin, and to all those in the development community who continue the ongoing effort to (a) educate designers who are not yet using CSS; and (b) educate one of the world’s largest software developers who is not yet fully awake and smelling the coffee.
Dane Ronnow
January 27th, 2006 at 10:59 pm
I use IE Conditionals to do all my IE-only styling, so I won’t be affected by the loss of the root node selector. I have been rather pessimistic on IE7 fixing CSS issues, so I’ve been using instead of … But I figure, if they do what I expect, then I won’t have to change a darn thing, and if not, then I’ll be happy to go change everything to
January 30th, 2006 at 10:10 pm
Time to add more to the mix….
I’m a little confused about the concerns about the as-written Holly Hack
* html selector {
height: 1%;
}
being interpreted. I understand that if the selected item is an immediate descendant of an absolutely positioned or floated element (or a table cell? haven’t tried) it could cause problems, but IE 6 properly interprets this as “height: auto” when it comes to layout boxes. I’d assume that IE 7 would do the same.
Not to say that other uses of * html would emerge unscathed, but hopefully this observation cuts down on some of the concern regarding rework.
In terms of the fact that this hack is disappearing, we can only blame ourselves for assuming/hoping that a bug would never be fixed, or would be fixed at the exact same time the issues requiring it were resolved. Conditional comments have been around since IE 5, and although their emergence into the CSS developer limelight is fairly recent, it doesn’t excuse us for pretending that the current state of affairs would remain forever.
January 30th, 2006 at 10:11 pm
Oops, that should’ve read ‘interprets this as “height: auto” when it comes to layout in regular, undimensioned boxes.’
January 31st, 2006 at 9:29 am
For the record, I am well aware of what a sucky browser IE 6 is. The nature of the browser coding I do, however, involves coming up with bulletproof styles that will work and play well with any valid, non-global CSS our clients may put on the page (for their branding, ads, etc.). This has led me to embrace a minimalist view, and to dump CSS hacks altogether. If something requires a hack (most of which are ways of disguising certain rules from certain browsers), I simply won’t use it or will find a different workaround.
There are a few IE-only styles I use, vended by an IE-only stylesheet, but these are mainly of the “cursor:hand;” variety, which stroke IE the way it likes to be stroked. (It’s an unruly beast, however, and frequently bites even when you’re feeding it and being nice.)
With all due respect to the brilliant Holly Bergevin, CSS hacks are a complication, not a simplification. In the voodoo world of IE/CSS, less is more.
February 1st, 2006 at 2:03 am
I’m not so into CSS design as many of you are, but I’m giving a personal opinion:
my wife is a web developer dealing with CSS and XHTML and I see her using a lot of hacks to make things work both in IE6 and FF.
For me it’s quite difficult to understand all of the things and reasons of this, so I guess that making IE more compliant to the standard CSS beavour is better for all of us…
Of course now we have to reinvent a way to discriminate between IE6 and IE7, but I think for the world is better to support CSS than to support hacks
Simo
February 1st, 2006 at 10:35 am
FYI: Cascading Style Sheet Compatibility in Internet Explorer 7
February 10th, 2006 at 4:21 am
Using a method (the Holly hack) that relies on the expanding box bug to turn on haslayout seems to me like a fairly nasty way of giving something haslayout in IE, wouldn’t setting style=”zoom: 1;” be a nicer way of doing this? This method also result in haslayout being true but without affecting FF.
February 10th, 2006 at 2:41 pm
The “* html” hack is what helps me make my CSS websites look good in every browser.
As it stands right now, my sites look perfect in Firefox, Opera, IE6 but are messed up in IE7 because this hack doesn’t work.
February 11th, 2006 at 1:10 pm
Here’s the problem - CSS is simply not really ready for layout. It’s a great theory, but a bad reality for complex stuff. Not only IE but other browsers all have bugs, problems, hacks and so on needed. Even the beloved FF isn’t fully compliant with the spec.
If you insist on using CSS for layout, then you have to accept that IE or no IE there will be fragility, hacks, breakadges and so on as new browser versions are released. You have, in effect, turned the browser int a UI API - and liek all fo thos eyou have bought yourself all the maintenance problems related to that.
February 13th, 2006 at 11:05 am
I can’t believe you guys ask this question.
Quote:
[The root node selector has long been used to create rules that only work in IE. The general pattern would be to write rules that would match in all browsers first. Then..]
How about no one cares about the holly hack, and microsoft browsers behave like everybody else?
The question shouldn’t be “Should IE7 continue working the same way?”, it should be “Should IE7 at last not require special code?”
February 13th, 2006 at 11:24 am
Oh, and also, customers will of course be charged for modifications, at least partially. The code was made for IE6, and worked there. Since when were the behaviour changes a company “features” in their product the responsibility of coders? The bill is always footed by the customer, who in turn can complain to M$. Incompatible upgrades never come free. That’s the key: compatibility. Either to the previous version, or to the standard.
February 16th, 2006 at 9:14 am
The Star HTML hack/filter should disappear solely because it’s a stupid parsing bug. And the underscore hack/filter too. According to Microsoft, they *are* going away.
So what do we do with ‘designers’ like Kurt above who have invested deeply in the hacks/filters? I think we should send them a book or links on good design, Inform them about Conditional Comments, convince them to change careers
.
Being an amateur web builder/designer, I have only used the star html hack once; to get around IE’s non-support of the min-height property. If IE7 supports CSS the way the Jan 31 06 article (Tonico’s post above) promises, most legitimate uses of these hacks will/should cause no problems. They will just be ignored.
As for IE7beta2 breaking sites, ITS BETA! Send bug reports to Microsoft IE team. They really want to hear about them.!
February 21st, 2006 at 5:01 am
I’m with Microsoft on this one.
Conditional comments are a safe, future-proof way to work around old, buggy browsers.
They require separate stylesheets for old browser hacks: I think this is a good thing. We should all be moving to standards compliance, and now that Microsoft is, we’ve got a good chance to get there. Separating old browser hacks from the rest of our code can only help highlight the extra time and work it takes supporting non-standards compliant browsers.
There will be work to do during the transition, but there will have to be at some point if Internet Explorer is going to become standards compliant. I wish it had come at version 6 in 2001, instead of version 7 in 2006, but we should put the work in now so that, in future, we can actually move forward.
February 26th, 2006 at 11:17 am
I’m a big fan of the Holly hack as it’s a nice simple way of doing things and whilst learning anything new is a pain … really, we should have been using conditional comments.
Lot depends on how you design, when I started css I had * html all over, but now I rarely use it, and the times I do it’s rarely critical.
If IE is to ever become a css happy browser something has got to give.
Besides, given IEs proud history of bugs is there anyone here who thinks there won’t be some thing similar to Hollys in there?
March 2nd, 2006 at 3:20 pm
Dang man, when I found that Holly hack, it cured my blues. But you know what? It don’t cure the browser. Losing it is only losing an analgesic for our original pain - poor compliance in IE.
Basically, we shouldn’t *ever* have to rely on hacks. I tend to design for firefox/Safari and then fire up old IE to see what I need to fix. Imagine if I could have confidence that it’d work everytime - the hours I’d save! (but which I’d charge to the client anyway, just for the memories…)
March 6th, 2006 at 5:29 am
The best thing about Conditional Comments as opposed to CSS hacks is that you can also include content, such as… oh I don’t know… how about “Please for the love of God get yourself a decent browser!“
March 10th, 2006 at 2:07 pm
This change will, by itself, not effect me. II have not ever used this hack. Always to acheive layout-perfection in IE I have included a special IE css file through conditional comments. I do have some checking/work to be done with regards to changes in IE7, however as I said, it isn’t due directly to this hack. Frankly, anyway whining about a *hack* no longer working in an update needs their head examined as, by its very nature, a hack depends on a bug which can - and hopefully will - disappear in a later version of the software.
March 13th, 2006 at 4:11 pm
Please excuse my ignorance of what appears to be obvious, but please clarify what I may need to do to update “Holly-hacked” sites. Here’s my take:
1. Keep my current stylesheet(s), minus IE hacks.
2. Make a stylesheet for all versions of IE.
3. Make separate stylesheet for IE 4, 5, 6, and 7.
4. Include all IE stylesheets via CCs.
If that’s right, MS’s solution is quite a bit more complicated than the original problem (HH is 3 lines of code!). Would be nice if CCs could be done in the main style sheet.
Anyways, I’d sure like to see exactly how this is implemented. Can anyone point to a particular example of a Holly-hack to CC conversion?
TIA
March 21st, 2006 at 2:09 am
Instead of wondering which hacks to leave and which to remove, why isn’t Microsoft pressured to not need hacks? Are they incapable of writing a standards-compliant browser? And any machine that can run IE7 can run Firefox as well, so why don’t designers encourage proper standards usage by not coding for IE? That way, only the people who insist on using a broken browser see a broken webpage.
March 22nd, 2006 at 4:54 pm
Disabling any of these IE-specific “hacks” will not affect me, as I always go out of my way to avoid having to use them (in part for this very reason), even if it means some minor design compromises. But then, I’m more content-oriented than graphic-oriented, so my situation may be different than that of true graphic designers.
April 6th, 2006 at 6:44 am
I am honestly NOT a Microsoft basher. I have simply grown tired of their refusal to come into compliance with standards. Hence the very opinionated response below…
If people were educated to the point where Microsoft’s failure to comply with standards was not tolerated or acceptable, then none of this would be an issue. Microsoft is sitting back and gloating about how they can break the web by NOT conforming to standards simply by virtue of their market share. Remove that confidence in market share and the problem would likely go away.
I, personally, will not hack up CSS to satisfy a non-compliant browser.
*GASP!* “But then all those people with IE won’t see your site correctly!”
So catch the browser and give the IE users the information they need to get a better browser and tell them why. I’m sorry. I know this isn’t what most people will design into their pages, but perhaps those are the same people who complained loudly about gas prices at almost 4 dollars a gallon after Katrina a while back while filling their SUV for the 2nd time that week and doing nothing to curb their gas useage.
Do NOT hack to comply with Microsoft’s broken browser. Make Microsoft comply with standards. I know this isn’t a popular idea, but the fact that they have no intention of fixing the expanding box or anything ELSE just shows their indifference. Would you accept this kind of attitude on the part of your auto manufacturer? “We’re not going to fix the steering problem. You’ll just have to adapt.”
I think not.
April 10th, 2006 at 12:19 pm
Hacks are ugly, and should never be used. I can do ANY layout I want, including fancy stuff like rounded borders and multi-column liquid layouts, without hacks. A lot of W3C-compliant HTML, CSS, and a little JavaScript for the rounded borders all work nicely.
a) Start by seperating layout, content, and style - good design always trumps bad hacks. It also makes changing the website and layout a LOT easier.
b) As much as possible, use CSS for layout (avoid tables) - this allows you to import an IE-specific stylesheet if need be. Also, the tables have their own problems . . . .
There are many, many tutorials all over the web on how to create good stylesheets - without hacks.
c) Use valid, W3C compliant HTML and CSS first. Adjust for IE later.
d) There are some very useful “IE7″ scripts that can help IE work better.
http://dean.edwards.name/IE7/
e) Microsoft’s conditional comments. If you MUST do something differently for IE, they are a clean, hack-free way to do it. You can import an IE-specific stylesheet that way.
NOTE: So far, I have NOT needed to create an IE-specific stylesheet yet, although the code exists for it in my website. Yes, my friends, I can do a complex layout without hacks and make it look the same in IE and other browsers.
f) NEVER expect bugs in one version to exist in the next. NEVER. Relying on bugs is VERY BAD practice.
Just like “Charles” and “Charlie,” I go out of my way to avoid hacks and come up with clean solutions to my problems. It took some work, but I’m pretty sure my website will work in any browser available (especially W3C-compliant ones) and future browsers as well. And, on top of that, seperating content, layout, and style means I can make large, sweeping changes with no problems.
April 17th, 2006 at 1:25 pm
Look, the hack is really not supposed to be used. It’s a very very bad practice. Besides, there is a better way to do that — conditional comment in IE is a better way to add IE only features w/o breaking any standard.
May 12th, 2006 at 5:55 pm
Okay, time for an update. MS has now “corrected” the expanding box bug. I quote it because MS has (of course) not completely fixed it, but has instead fixed it for only the the most obvious cases (as usual), and once you get into it a little, the NEW bugs start gnawing your foot off.
Anyway, this fix means that a box CANNOT be put into layout mode in IE7 via a height value, REGARDLESS of the method used. Holly hack or CC, “height: 1%” is a no-no in IE7. So now “zoom” is the ONLY usable way to do it, and since IE5/win does not support zoom, we will be forced to use 2 CC’s, or 1 CC and have a star/html hack inside to fork the code between the IE versions.
Furthermore, extensive testing with the latest IE7 beta shows that the layout monster is till present and ready to pounce, altho it’s true that many of the infamous bugs involving layout have been fixed (peekaboo, guillotine, etc…). But just try to make a list without paying attention to layout, or add a width to a div following a float, and you will find out that “It’s still heeere…”
I’ve been told by an MS insider that the star/html hack is definitly dead, so that seems to be it. However, the release date keeps being pushed back, so who knows what is really happening? Not me!
I don’t think they are “going slow” for the sake of a few css coders who will suffer, but rather it’s the new security “features” that they fear will “turn off” lots of clueless users who will become “unsettled” by needing to actually do things the browser tells them to do, to be “safe”.
If IE was even half as secure as FF then these draconian methods would not be needed, but they are, and I bet the focus groups are telling MS that people really hate the stupid hoops they will be made to jump thru. Just my opinion, but I’m tellin’ ya…
June 4th, 2006 at 9:53 pm
I suspect that many coders will now grit their teeth, and dive into the breech yet again…
…only this time, instead of adding conditional comments on top of Holly Hacks on top of Tan hacks into the CSS, they will simply rewrite every webpage to display a shiny “Get Firefox” button link in a prominent place.
(Personally, I think this would be a groovy idea. I carry a flash-memory card when I travel, and must use random computers. I now always keep the latest installers for FF and Opera on the card, so I never have to deal with the IE fiasco.)
Obviously the Tan hacks already present must stay, to keep IE5/IE6 in line, but with IE7 I fear that coders will need to learn two languages: Standards-CSS, and a perverted mutation of it that is MS-CSS. It seems obvious to me now (or is it just the paranoia?) that Microsoft has wanted to establish their own proprietary style-code for a while, and they intend to do it through the sheer weight of the presence of their browser, and unified web-language be damned.
Of course any hack is, by its very nature, a symptom of some failure somewhere. And the fact that these “hacks” are accepted practice is also a sad commentary, in general, to the present state of webcoding. One would think Microsoft wouldn’t be so quick to throw the baby out with the bath-water, but they have obviously already decided that their browser’s “Layout” model is much more precious to them than standards-compliance.
June 19th, 2006 at 4:32 pm
Its funny how people keep saying that using the hacks are bad practice. IMHO using IE (or any microsoft) is bad practice. (and before the flames of “its about appeasing clients and end users” starts… i know. I just thought I’d drop my light opinion.)
I agree with Dormer, if your gonna use conditional statments… make them “if ie, redirect to firefox”… or some MS-hate or something. rebirth: http://www.w3junkies.com/toocool/
July 11th, 2006 at 5:38 pm
Well, I’ve never used the * hack, so it doesn’t effect me one bit. I almost used it today, but that’s because I was following a demo for a CSS-based drop-down menu (something I’ve never bothered with), and there was a * hack in the demo code. What bothered me more was the change of HTC’s in XP SP2. While hunting for a fix for that (change the mime type, by the way) I found out about all these lovely changes MS is making. Just go with the CC’s guys. It was probably a better idea to begin with, and now all the star hacks you guys have used is coming back to haunt you. So, I’ll put a CC for IE and put a hack in that style sheet. I’ll leave the rest alone because my tests are showing the rest of my sites working fine in IE7, Mozilla, Firefox, and Opera.
By the way, my sites now contain a “If you are running Netscape 4.x, you are about 10 years out of date. Get a new browser. If you are running IE 5 or 6, those aren’t web-standards compliant. They’re bad browsers. Get something compliant like Mozilla (link) or Firefox (link).”
July 27th, 2006 at 6:55 am
Sorry, but I can’t help laughing at all this. The merest hint of common sense would have told you that relying on a hack to achieve a result would bite you in the ass soon enough. The idea of you all running off crying to MS asking them not fix the bugs you like after years of bitching about bugs you don’t like is going to have me chuckling for years.
August 3rd, 2006 at 1:25 am
Your are Nice. And so is your site! Maybe you need some more pictures. Will return in the near future.
August 4th, 2006 at 1:05 pm
I couldn’t agree more with Schmoo’s comment above: Relying on a hack of this type is GUARANTEED to come back and haunt you some day. Anyone who made this choice knew what they were in for, so there is no sympathy from this corner. It IS rather funny that all these people are begging Microsoft to keep a bug they like, while clamoring for them to fix bugs they don’t like.
August 5th, 2006 at 10:36 pm
OH - I just tested my webpage with the IE7 Beta - guess what? My page still works, no modifications needed!
I can relax while all you hack users get to rewrite your pages
.
Using hacks, despite the article writer’s claims, is not forward thinking in any sense of the term. A true forward thinker will consider the possibility that yes, bugs do in fact get fixed, and should not be counted on to exist in the future.
The “Holly Hack” is not as crucial as the author claims. It is, in fact, very poor practice.
As I have stated before, complex tableless designs are in fact possible without any hacking at all.
Holly, you REALLY should rethink your position on hacks. Seriously, encouraging people to use them (and to tell Microsoft to continue supporting bugs) is the absolute worst advice you can give, and I am saddened that I’m going to have to deal with people who follow your advice in the future.
Not to mention all of the frustration that you are going to cause when Microsoft DOES upgrade their browser.
Folks, you have two choices:
-Follow the advice to use hacks and face a LOT of frustration in the future when browsers get upgraded.
-Don’t use the hacks and watch as your page continues to work even when browsers upgrade.
It’s quite simple and straightforward. Make your code clean and compliant, and you will be rewarded with a webpage that doesn’t need a rewrite every time a new browser is released.
August 12th, 2006 at 6:39 pm
Four years ago I thought there were only two internet browsers - IE and Netscape. Two years ago I started learning to make websites using MS FrontPage 2003 and, later, discovered there was FireFox and Opera. Over the past 6 months I’ve been learning to work entirely with CSS and haven’t made a new page in FrontPage. I am only now realizing how much of a pain in the butt it is trying to develop stylesheets to deal with Microsoft IE’s obvious inadequacies. In short - it’s too bad Microsoft gets away with keeping 80% or more of the world’s computer users ‘hooked’ on using IE. We’ll still need to re-hack IE 7 BUT… those of us who are tired of this must also do our best to promote the use of the “other” browsers that outperform IE. Almost all casual PC-users run what comes on their computers from the retailers… WinXP and the associated MS software. They don’t even realize they CAN download and install another browser on ther systems. They shy away from anything free due to ‘bad’ stories they’ve heard. All they need to learn is that it really isn’t hard or harmfule, and the resulting experience will end up being positive.
August 13th, 2006 at 8:30 am
http://umora.info/
September 12th, 2006 at 8:21 am
I feel that Microsoft is making a good decision. I was taught along time ago when I first started learning, that hacks are pointless, everytime I thought I needed a hack a friend of mine showed me the right way to do it, the more you know about CSS itself the less you need hacks for. So there was never a need for me to ever use hacks. Because of that person who pointed me in the right direction. He said hacks should only be used in an emergency as a last resort when there are no other alternatives, I never had this issue come up, and everything else got created with just full css.
September 13th, 2006 at 2:02 pm
Thanks for the discussion. I am learning rails and came across the holly hack in Dave Thomas and David Hansson’s code. I am disappointed in the lack of sympathy in recent blogs as people have only being coping with the inadequecies of Microsoft! If IE7 now behaves properly then all well and good - so it *** should! But Microsoft should accomodate the hack in IE7 for legacy sites because it was of their making.
Cheers!!
September 22nd, 2006 at 5:20 am
This makes me want to cry. I had a problem wher in standards compliant browsers a menu list would it snugly into a graphic behind it, making it look like buttons and in IE I had to use the tan/holly/*html hack to add an extra couple of px into the bottom margin. Now I’ll need to rework the whole dang thing.
September 28th, 2006 at 3:09 pm
Thinking that the web development company should shoulder the burden for updating existing sites when a new technology comes out is beyond retarded.
The clients pay the bill for that.
Seriously, what’s the statute of limitiations? Soon as the site is signed off on and released, that’s it. Something new comes out after that, not the Web dev’s problem.
Having said that, we should be on top of the changing trends in technology and we owe it to our clients to be as prepared for these types of things as much as possible.
I’m already coding standards-compliant XHTML which is /supposed/ to be more forwards compatable. I’m doing my part. I’m doing more than most are doing.
But just drives me crazy to think that we OWE the client updates to their site when IE 7 comes out. What about a site developed in 2005 when IE 9 comes out? You still ‘owe’ them all the fixes?
October 7th, 2006 at 2:28 pm
[quote]We’ll still need to re-hack IE 7[/quote]
Because you made the MISTAKE of using hacks in the first place.
There are plenty of legitimate browser-detection methods out there, such as Microsoft’s conditional comments. There is NO excuse for having to use hacks.
[quote]This makes me want to cry. I had a problem wher in standards compliant browsers a menu list would it snugly into a graphic behind it, making it look like buttons and in IE I had to use the tan/holly/*html hack to add an extra couple of px into the bottom margin. Now I’ll need to rework the whole dang thing.[/quote]
Use conditional comments, so IE6 and below use it and IE7 does not. You will save yourself a lot of pain.
http://msdn.microsoft.com/workshop/author/dhtml/overview/ccomment_ovw.asp
It appears that so far, the hacks that are supposed to make things “easier” are atually causing more pain. Hence why they are really horrible. Candy coat them as much as you want, at the core they are still ugly and painful.
Learn to take a little bit of pain when you first design a website, and use hackless code. It will save you a LOT of pain later.
October 8th, 2006 at 4:42 am
Hacks should never be future proof. Microsoft should ignore any bugs that happen in pages that use hacks, and be as standards compliant as possible. If you need to target or bypass internet explorer use the future proof way:
http://msdn.microsoft.com/library/default.asp?url=/workshop/author/dhtml/overview/ccomment_ovw.asp
October 8th, 2006 at 5:12 am
Actually I find it quite insane that a lot of you want Microsoft to keep ANY parsing bugs. Especially since I recognize a lot of you as people advocating Firefox since it is “standards compliant”, and IE is not. Are you afraid that you cannot complain about IE? There is a standards compliant way of applying height: 1%; in Internet Explorer 7, and the same goes to IE 5 and 6:
* {height: 1%;}
This style sheet will not be applied to other browser, and it will not be applied to IE 8 and newer.
October 8th, 2006 at 5:16 am
last comment was this:
{{!–[if lte IE 7]}}
{{style type=’text/css’}}
* {height: 1%}
{{/style}}
{{![endif]–}}
replace {{ with a left bracket and }} with a right bracket. HTML get stripped here.
October 11th, 2006 at 1:00 pm
I was always wary of the holly hack, using it very seldom, only if there was no other workaround - and my fears have proven to be correct.
October 17th, 2006 at 9:29 am
The only time I’ve been forced to use hacks of any type were when working within the confines of other software - such as hosted bulletin boards that don’t allow you to edit the or CMS systems with bloated html markup. But there were other occasions when the page design fell apart in IE because of expanding box or peekaboo bugs, and then you have no choice but to use a hack.
While conditional comments are an excellent way targetting errant IE versions, for existing sites this would mean editing the html files to add them in, when previously we’ve normall edited our single css file accordingly. And what of sites built using complex CMS systems with multiple page templates?
I’d rather IE not have any parsing bugs all too, but that’s probably a pipe dream. What I’d really like to see is a form of conditional comments that works WITHIN the css file.
October 18th, 2006 at 1:09 am
All the hacks should be abolished. I understand that pragmatically they’ve solved problems, but moving forward, they are nothing more than a crutch.
I agree with Alison that a true CSS control stucture would be better than using parse bugs. At least IE has conditional comments like
which allows loading of an IE specific stylesheet that can override a previous stylesheet. If expression detects the version, the stylesheet can be version specific.
Then there’s Dean Edwards’ IE7 effort to leverage Javascript to fix IE 5’s and 6’s (and presumably 7’s) CSS bugs and limitations which is perhaps the better way to fix bugs instead of using hacks if having a single stylesheet is your goal.
October 19th, 2006 at 10:07 pm
“But there were other occasions when the page design fell apart in IE because of expanding box or peekaboo bugs, and then you have no choice but to use a hack.”
If you are forced to use a CSS hack for some reason, you should place it in a separate CSS file and wrap it in conditional comments. It may be a bit of work now, but you will reap the rewards later.
“While conditional comments are an excellent way targetting errant IE versions, for existing sites this would mean editing the html files to add them in, when previously we’ve normall edited our single css file accordingly.”
It’s a small amount of code and a small price to pay.
Here’s a part of my code (remember to replace the curly braces with the HTML ange brackets):
{!–[if lt IE 7]}
@import url(ie_5-6.css);
{![endif]–}
Easy, simple, clean. Very easy to copy and paste. You need do nothing further with the HTML, as you can now place all of your hacks in an IE-specific stylesheet.
I’ve been using PHP to put my pages together anyways, so all I needeed to do was to edit one PHP file to add this globally.
I’m amazed many people are still manually typing in the parts of the webpage that are common to every page. I stopped doing that long ago - I found a webhost that supports PHP, and got rid of the problem of having to manually edit every page a long time ago.
But if you’ve got multiple pages, go ahead and add the conditional comments to them anyways - it may be a “lot” of work now, but it will pay for itself later.
“And what of sites built using complex CMS systems with multiple page templates?”
ANY good webpage design, including CMS systems, will have common elements in one place, not in may places! There should be a master template that the other templates derive their base code from. If not, it needs a redesign anyways
.
What happens if somebody needs to make HTML changes to the header or page layout? Don’t tell me you’ve never had to make such changes before! Even CSS can’t do everything. If it did, we’d never use HTML.
You ought to read about the ant and the grasshopper (it’s a short children’s story). It’s a story with a good point: It is much better to do a lot of work now and be ready than it is to be lazy now and have to scramble to fix everything later.
http://www.dltk-teach.com/fables/grasshopper/mstory.htm
http://en.wikipedia.org/wiki/The_Ant_and_the_Grasshopper
October 27th, 2006 at 7:55 am
[…] Det är en lång lista på fixade buggar i IE 7’s rendering av CSS, men några uttrycker tveksamheter kring i vilken utsträckning de är fixade, det kan hända att det bara funkar i ganska speciella fall. Se kommentarerna till Star-HTML-artikeln på Molly Holzschlags webb. […]
November 8th, 2006 at 2:43 pm
Forgive me if I’m being naive - I’m just now trying to teach myself all this CSS stuff, but the obvious question which pops into my mind is ‘why can’t Micrsoft just develop a standards-compliant browser?’ Is that stupid?
November 27th, 2006 at 6:29 am
What is the Holly Hack anyways? Never used it never will… I have, however, used the star HTML hack to force IE 6 to “fix” the different margin size implementations…
At first I thought it would be crazy to drop the star HTML hack, but this discussion has changed my mind… It has to go…
December 28th, 2006 at 4:02 pm
putting up a website url at this time…
Anyway, I was having a bit of trouble with peekaboo ie bug yesterday and not knowing what was the problem found out about peekaboo through these sites I searched…I found the holy hack and star Html work arounds…but also noticed something very interesting…if i nested the icluded file between and html tags the file became visible…even if the and tags were’nt within a and tags therefore the table never shows and the included file picked up exactly the css style I coded and its positoning…not sure if this is a good thing or not but seemed to work in this one instance.. would be nice if others (much better at this than I)tested it out to see what they thought. So I am not even using the holy hack on peekaboo now… just surrounding my included files with those tags and I am now not having any issues…
December 28th, 2006 at 4:06 pm
Uh those tags were
December 28th, 2006 at 4:06 pm
Okay one more time TD and /TD
February 21st, 2007 at 3:23 pm
Dear webmaster. I saw your nice stats. I came from:
[urls_url]
[urls_href]
[urls_nothing]
There is everything here, that it is necessary for me. Good job! Thanks.
June 6th, 2007 at 8:04 pm
Hey! This is really your Work?! Cool! I never earlier did not see sites like this! Tnx!
March 15th, 2008 at 12:22 pm
August 26th, 2008 at 7:12 pm
Hello my friend, your site is very good! http://ghnzmrllehvym.com