Web sites that discuss IE gotchas?
|
|
Thread rating:  |
Neil Cherry - 28 Dec 2006 02:54 GMT I'm in the process of redesigning my web page and started working more with CSS. I have, what I think is, a nice web layout (I'm no expert so I could be wrong). When I tested it with Konqueror and Firefox it works well (a few minor problems) but when I test it with IE 6.0 it doesn't display or it jumbles everything up. I've tried using various examples (conditionals) to get around IE problems but they are causing more problems that they fix. I'd love to drop IE all together but it's around 33% of my traffic so probably not a good idea.
Can anyone point me to site that explain how to design around IE's problems? I've googled but I seem to be getting dribs and drabs of information.
 Signature Linux Home Automation Neil Cherry ncherry@linuxha.com http://www.linuxha.com/ Main site http://linuxha.blogspot.com/ My HA Blog http://home.comcast.net/~ncherry/ Backup site
dorayme - 28 Dec 2006 03:38 GMT > I'm in the process of redesigning my web page and started working more > with CSS. I have, what I think is, a nice web layout (I'm no expert so [quoted text clipped - 8 lines] > problems? I've googled but I seem to be getting dribs and drabs of > information. First thing to do is to check your site for errors, there a few in both css and html on the "main" site in your sig, look up in validators. The other thing, do you need to use xhtml? Usually best to keep to:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
There are a lot of problems with IE 6 and your best strategy is to first get your code as kosher as possible. Beyond that, what are the specific problems you have?
 Signature dorayme
Neil Cherry - 28 Dec 2006 05:07 GMT >> I'm in the process of redesigning my web page and started working more >> with CSS. I have, what I think is, a nice web layout (I'm no expert so [quoted text clipped - 16 lines] ><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" > "http://www.w3.org/TR/html4/strict.dtd"> This is a good suggestion, I'll fall back from XHTML 1.0 Transitional to 4.01 strict and see if that loosens things up first and run my page and the css through the appropriate tools to see how correct they really are.
> There are a lot of problems with IE 6 and your best strategy is > to first get your code as kosher as possible. Beyond that, what > are the specific problems you have? I'll get back to you as soon as I've checked the code (in a day or two).
Thanks!
 Signature Linux Home Automation Neil Cherry ncherry@linuxha.com http://www.linuxha.com/ Main site http://linuxha.blogspot.com/ My HA Blog http://home.comcast.net/~ncherry/ Backup site
Bergamot - 28 Dec 2006 12:57 GMT > Can anyone point me to site that explain how to design around IE's > problems? IE6 has many CSS troubles. The best way to avoid them is to start with clean, semantic markup - HTML 4.01 Strict is recommended. And Keep It Simple, especially if you are not very fluent in CSS. You can gradually move to more complex designs as your skill level increases. Just don't try to bite off more than you can chew - you'll only end up with a mess, probably in all browsers not just IE.
Understanding how the various positioning methods and the box model are *supposed* to work goes a long way to avoiding problems in general, so please learn these first. The specs are at http://www.w3.org/TR/CSS21/visuren.html
IE's quirks are triggered by a variety of conditions so you have to take them individually when figuring out a resolution. The 2 best sources for identifying the cause and work-around(s) are http://www.positioniseverything.net/explorer.html http://www.quirksmode.org/bugreports/index.html
quirksmode.org lists bugs for all browsers and has JavaScript and HTML bugs in there as well. There is a section devoted to IE 5-6. Thankfully, the worst IE6 bugs have been corrected in IE7, but that doesn't mean IE7 is bug-free. No browser is bug-free, of course.
 Signature Berg
Neil Cherry - 29 Dec 2006 18:12 GMT I want to thank everyone for their help. I haven't figured out why things aren't working with IE but are with Firefox but I have learned that that inheritance is important. I've found that if I take something that works (blocks of text and images, centered) and just add it into an existing page they no longer work. I'm going to fall back to solving the block centering problem first, then the page layout with fixed divs (header, content and footer) and scroll bars then the drop down menu issues.
I'm amazed at how many folks give examples of 'howto' and those examples fail on a basic web page (inheritance from their style sheet that they fail to mention). As with anything there is useful and useless information on the web. I am thankful for the folks in this newsgroup who help separate the wheat from the chaff. :-)
 Signature Linux Home Automation Neil Cherry ncherry@linuxha.com http://www.linuxha.com/ Main site http://linuxha.blogspot.com/ My HA Blog http://home.comcast.net/~ncherry/ Backup site
Neil Cherry - 30 Dec 2006 02:36 GMT Yes, I know one post followed up by another post followed up by yet another, bad form! Anyway, I found the source of most of my problems. I have a tendency to add the following line to the start of my html files:
<!-- -*- mode: html; mode: auto-fill; -*- -->
This tells my editor to drop into a specific mode that I like to use. I minimized my files down to the minimal html and css to perform the task I couldn't get to work and found that 2 nearly identical files behaved differently! When I removed the line above (it was the very first line in the html file) both behaved identically. The file verifies with the above line in it so I thought it was acceptable.
 Signature Linux Home Automation Neil Cherry ncherry@linuxha.com http://www.linuxha.com/ Main site http://linuxha.blogspot.com/ My HA Blog http://home.comcast.net/~ncherry/ Backup site
Sherm Pendley - 30 Dec 2006 05:38 GMT > Yes, I know one post followed up by another post followed up by yet > another, bad form! Anyway, I found the source of most of my [quoted text clipped - 8 lines] > files behaved differently! When I removed the line above (it was the > very first line in the html file) both behaved identically. The absence of a DTD declaration on the first line of an HTML document will trigger so-called "quirks mode" in many browsers. That results in different, non-W3C layout rules being applied.
Have a look at <http://hsivonen.iki.fi/doctype/> for more.
Emacs doesn't require your mode line to be at the very top. I use it all the time with Perl scripts that begin with a #! line. So, you don't have to remove that, just move it to below the DTD declaration.
sherm--
 Signature Web Hosting by West Virginians, for West Virginians: http://wv-www.net Cocoa programming in Perl: http://camelbones.sourceforge.net
Spartanicus - 30 Dec 2006 09:33 GMT >The absence of a DTD declaration on the first line of an HTML document will >trigger so-called "quirks mode" in many browsers. Quirks mode is triggered in IE and an old version of Opera when there is non whitespace before the doctype. The doctype declaration does not have to be on the first line, and afaik no other browsers are affected.
>That results in different, non-W3C layout rules being applied. That is a rather meaningless statement.
 Signature Spartanicus
Sherm Pendley - 30 Dec 2006 11:15 GMT >>That results in different, non-W3C layout rules being applied. > > That is a rather meaningless statement. I'm not sure what you're getting at. How is it "meaningless" to point out that "quirks mode" results in nonstandard layout rules being applied?
sherm--
 Signature Web Hosting by West Virginians, for West Virginians: http://wv-www.net Cocoa programming in Perl: http://camelbones.sourceforge.net
Spartanicus - 30 Dec 2006 13:03 GMT >>>That results in different, non-W3C layout rules being applied. >> >> That is a rather meaningless statement. > >I'm not sure what you're getting at. How is it "meaningless" to point out >that "quirks mode" results in nonstandard layout rules being applied? Misleading is a better description.
There is no such thing as "W3C layout rules". Disregarding that, you are suggesting that triggering "standards mode" in IE makes it behave in a spec compliant manner, this not even remotely the case. In IE6 a few bug fixes have been tied to "standards mode" and IE6 applies the box model rule that horizontal padding must be added to a specified width. But IE6 in it's so called "standards compliant" mode still has huge deficiencies in it's CSS2 support, and a massive number of CSS bugs causing it to behave in a non spec compliant manner.
 Signature Spartanicus
Sherm Pendley - 30 Dec 2006 19:59 GMT >>>>That results in different, non-W3C layout rules being applied. >>> [quoted text clipped - 6 lines] > suggesting that triggering "standards mode" in IE makes it behave in a > spec compliant manner I'm suggesting no such thing. I didn't even mention IE, or *any* specific browser. Most browsers have a "quirks mode" at this point. Neither am I suggesting that "standards" mode results in any particular browser behaving in a perfectly W3C-compliant manner.
"Standards mode", simply put, is an attempt to follow W3C recommendations as closely as possible. Deviation from W3C specs is considered a bug. "Quirks mode", by contrast, is an attempt to emulate the behavior of older "tag soup" browsers as closely as possible. Deviation from W3C specs is by design.
In other words, the two modes aren't simply different levels of success in reaching the goal of W3C compliance, and characterizing them as such is what would be misleading. They're different goals entirely, with different rules being applied in the attempt to reach them.
sherm--
 Signature Web Hosting by West Virginians, for West Virginians: http://wv-www.net Cocoa programming in Perl: http://camelbones.sourceforge.net
Spartanicus - 30 Dec 2006 21:19 GMT >> Disregarding that, you are >> suggesting that triggering "standards mode" in IE makes it behave in a >> spec compliant manner > >I'm suggesting no such thing. I didn't even mention IE, or *any* specific >browser. The context was IE's quirks mode rendering.
>Most browsers have a "quirks mode" at this point. Neither am I >suggesting that "standards" mode results in any particular browser behaving [quoted text clipped - 4 lines] >mode", by contrast, is an attempt to emulate the behavior of older "tag soup" >browsers as closely as possible. Deviation from W3C specs is by design. Better, but still misleading. Here you mention the concept of "tag soup", you imply that this is linked to older browsers and a certain way of rendering, both are incorrect. "Tag soup" refers to HTML code which does not validate against one of the public HTML DTDs and/or is not authored for semantics. All WWW browsers are explicitly designed to handle tag soup. Neither tag soup code and the fact that browsers are designed to handle it has a intrinsic relation to quirks mode and/or standards mode rendering.
 Signature Spartanicus
Sherm Pendley - 30 Dec 2006 23:12 GMT >>> Disregarding that, you are >>> suggesting that triggering "standards mode" in IE makes it behave in a [quoted text clipped - 4 lines] > > The context was IE's quirks mode rendering. Oh, I see now, you're referring to the "IE gotchas" in the subject. We appear to have drifted quite a ways from the original context. I was referring to "quirks mode" in general, not to any specific browser's implementation of it. I've changed the subject to reflect the topic drift - is that better?
>>Most browsers have a "quirks mode" at this point. Neither am I >>suggesting that "standards" mode results in any particular browser behaving [quoted text clipped - 7 lines] > Better, but still misleading. Here you mention the concept of "tag > soup", you imply I meant what I said, no more and no less. Please stop putting words in my mouth and then telling me that they're wrong.
> Neither tag soup code and the fact that browsers are > designed to handle it has a intrinsic relation to quirks mode and/or > standards mode rendering. Huh? "Quirks mode" is not merely related to tag soup, its express purpose is to handle it in a manner that is more consistent with older browsers than the "standards mode" would allow for. If it weren't for tag soup, there would have been no need for modal processing to begin with.
sherm--
 Signature Web Hosting by West Virginians, for West Virginians: http://wv-www.net Cocoa programming in Perl: http://camelbones.sourceforge.net
VK - 31 Dec 2006 00:39 GMT > Huh? "Quirks mode" is not merely related to tag soup, its express purpose is > to handle it in a manner that is more consistent with older browsers than the > "standards mode" would allow for. If it weren't for tag soup, there would have > been no need for modal processing to begin with. There is not "Quirks mode" as a technical term as such. It is a slang word, and as many slang words it may refer to a widest variety of of things depending on who's using it - just like with "tag soup" slang term. This way trying to find some exact technical meaning of "Quirks mode" is pointless.
In the technical aspect there is compatMode ("Compatability Mode") which is either BackCompat or CSS1Compat and can be read (but not set) from document.compatMode.
Skipping on euphemistical blah-blah: BackCompat mode is "How IE did, does and will do by its own standards". CSS1Compat mode means "As close as we could get to how W3C wants us to do".
Originally introduced in IE6, it was adopted by all rivals as well: because besides the commitment to the standards many people also have more material needs to ensure, which is difficult to do with a company went under ;-)
BackCompat/CSS1Compat switch is based on DOCTYPE declaration as specified at <http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html/css enhancements.asp>
This is the original MSDN specs but other UAs are going by it as well.
Despite the switch is based on DOCTYPE declaration, it has no relation of any kindr to DTD issues. It was just chosen by Microsoft as a formal sign, because it is always conveniently allocated (if presented) at the very top of the document.
So this switch gave developers a choice to 1) place a proper DOCTYPE declaration and do with the W3C standards - taking into account broken or underimplemented standards on a particular browser or 2) do not use DOCTYPE and "give up to Microsoft".
So far the trend still seems staying on the first option.
>From the other side it is like with fairness: more you brake it - easier to brake it even more the next time.
See for instance what does Firefox have to propose just one year after the "fall for BackCompat":
<html> <head> <title>BackCompat</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css">
html * { -moz-box-sizing: border-box; }
body { background-color: #FFFFFF; color: #000000; } </style> </head> <body onload="window.alert(document.compatMode)"> <div style=" width: 550px; height: 400px; background-color: #FFFF00; margin: 0px 0px; padding: 20px auto; border: 1px solid red; "> <div style=" width: 100%; background-color: #FF0000; margin: 0px 0px; padding: 20px auto; border: 1px solid yellow; ">Demo</div> </div> </body> </html>
Spartanicus - 31 Dec 2006 02:43 GMT >>>"Standards mode", simply put, is an attempt to follow W3C recommendations >>>as closely as possible. Deviation from W3C specs is considered a bug. "Quirks [quoted text clipped - 6 lines] >I meant what I said, no more and no less. Please stop putting words in my >mouth and then telling me that they're wrong. Several claims you made in this thread have been wrong. Other statements have been vague, likely to be misunderstood, ergo: misleading. If you can't handle this being pointed out then usenet is not for you.
>> Neither tag soup code and the fact that browsers are >> designed to handle it has a intrinsic relation to quirks mode and/or [quoted text clipped - 4 lines] >"standards mode" would allow for. If it weren't for tag soup, there would have >been no need for modal processing to begin with. Look up "intrinsic" in the dictionary and re-read the definition of "tag soup" that I provided.
 Signature Spartanicus
Sherm Pendley - 31 Dec 2006 04:34 GMT > Several claims you made in this thread have been wrong. No, the claims you invented and then tried to attribute to me were wrong, hence my request to please stop putting words in my mouth.
Please - respond to what I actually said, or don't respond at all.
Frankly, I suggest the latter. I'm killfiling this thread anyway, since it appears to be going nowhere useful. The OP's problem has been solved, and I don't see how this endless hair-splitting you want to indulge in could possibly be of any use.
sherm--
 Signature Web Hosting by West Virginians, for West Virginians: http://wv-www.net Cocoa programming in Perl: http://camelbones.sourceforge.net
Spartanicus - 31 Dec 2006 10:22 GMT >> Several claims you made in this thread have been wrong. > >No, the claims you invented and then tried to attribute to me were wrong, Again both of these claims you made are wrong:
>>The absence of a DTD declaration on the first line of an HTML document will >>trigger so-called "quirks mode" in many browsers.
>>"Quirks >>mode", by contrast, is an attempt to emulate the behavior of older "tag soup" >>browsers as closely as possible
>I don't see how this endless hair-splitting you want to indulge in could >possibly be of any use. It is an attempt to prevent /others/ from accepting your erroneous and misleading information. I don't care about what you find useful or not.
 Signature Spartanicus
Neil Cherry - 30 Dec 2006 11:12 GMT >> Yes, I know one post followed up by another post followed up by yet >> another, bad form! Anyway, I found the source of most of my [quoted text clipped - 18 lines] > the time with Perl scripts that begin with a #! line. So, you don't have > to remove that, just move it to below the DTD declaration. Good I'll do that. Thanks, I'm now much happier with the way things are working. Especially now that they're following the standards more closely. I'm certain I have plenty of clean up to do on my various pages. Some of which were written more than 10 years ago (~ html 3.2). I'm not really sure I'm any more knowledgeable today than I was then.
Thanks!
 Signature Linux Home Automation Neil Cherry ncherry@linuxha.com http://www.linuxha.com/ Main site http://linuxha.blogspot.com/ My HA Blog http://home.comcast.net/~ncherry/ Backup site
Bergamot - 30 Dec 2006 05:41 GMT > <!-- -*- mode: html; mode: auto-fill; -*- --> > > files behaved differently! When I removed the line above (it was the > very first line in the html file) both behaved identically. IE6 requires the DOCTYPE in the first line or it triggers quirks mode. The actual DOCTYPE in this case is ignored. google the archives for more about quirks vs standards mode.
 Signature Berg
|
|
|