RE: SOT moving to FireFox
Prior to IE6, the boxmodel of IE was build upon the idea margin+padding+border were included in the width. You are able to change boxmodel rendering using the appropriate css rules, (mostly you just need border or padding box). The box model can be workaround by not using width/height in combination with padding/margin. So add an extra nesting to prevent boxmodel issues, or change the boxmodel rendering with the css properties created for it. This model however can be suppressed by forcing IE into quirks. I would recommend it to everyone, since standards mode is to buggy for production. Micha Schopman Project Manager Modern Media, Databankweg 12 M, 3821 AL Amersfoort Tel 033-4535377, Fax 033-4535388 KvK Amersfoort 39081679, Rabo 39.48.05.380 ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187355 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
IE incorrectly implements the CSS box model, while FF (and other browsers) gets it right. Specifically, IE assumes the width you specify is for the actual content area of the elements box, while the CSS spec says that the width you specify is for the entire box (including padding, border, and margin). You've got that backwards. In CSS, the width does not include padding, border, and margin. In older versions of Internet Explorer, the padding and border were included in the width. So if you've got 5px of margin, a 1px border, and 4px of padding, your elements will be 10px wider than they should be. Or, if you're looking at it from the IE side, rather than the standards side, a standards compliant browser will show your boxes 10px smaller than you're used to. I believe this was all true pre version 6. It's also true if you're using quirks mode (see doctype switching). For more information: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html /cssenhancements.asp Ben Rogers http://www.c4.net v.508.240.0051 f.508.240.0057 ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187353 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
Michael the Tantek hack is one of the most ugliest hacks available for many reasons (for ex. future use of working selectors) :) People think the standard doctype is the best decision, working with standards, giving them the idea of being innovative and future driven.. you are being fooled by IE. The best doctype currently for IE is still IE 4.0, read more about it on www.annevankesteren.nl. The biggest mistake of the entire doctype thing going on is people who haven't got a clue about what the doctype actually means, or what doctypes browsers support. Micha Schopman Project Manager Modern Media, Databankweg 12 M, 3821 AL Amersfoort Tel 033-4535377, Fax 033-4535388 KvK Amersfoort 39081679, Rabo 39.48.05.380 ~| Special thanks to the CF Community Suite Silver Sponsor - CFDynamics http://www.cfdynamics.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187388 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
If you force IE 6 into quirks mode, you still have to hack the box model--in quirks mode you'll just be lumping IE 6 in with the hack. The simple method of doing this is: Quirks mode allows developers to maintain backwards compatibility and avoid all those really ugly hacks you included in your message. The problem with the hacks is that they all rely on implementation bugs. If this were object oriented programming, the phrase would be program to the interface, not the implementation. You could also use conditional comments to feed any version of IE selectors, properties, and values as necessary: I agree with the use of conditional comments as override mechanism for the reasons you mention. It's important to note the difference between this and the other hacks you described: this is a documented feature. As such, you can rely on it. It's also semantically clear. Standards mode for IE 6 is not too buggy for production. I'll agree it's not even close to perfect, but it is a step in the right direction and a far cry better than IE 5.x's poor CSS support. My interpretation of what Micha was saying is that trying to use standards mode (as opposed to quirks mode), brings out the bugs and odd behavior in older browsers. This leads to more development time and ugly hacks like the ones you mentioned. Of course, I may have misunderstood Micha. :) Ben Rogers http://www.c4.net v.508.240.0051 f.508.240.0057 !--[if IE 5] link rel=stylesheet type=text/css href=css/ie-5.x.css / ![endif]-- Which would contain: #myBox { width: 222px; } Using conditional comments allows you to keep all of your IE specific CSS in one stylesheet, helps to avoid using hacks in your main stylesheet, and improves the shelf life of the document. Standards mode for IE 6 is not too buggy for production. I'll agree it's not even close to perfect, but it is a step in the right direction and a far cry better than IE 5.x's poor CSS support. -- Best regards, Michael Wilson ~| Special thanks to the CF Community Suite Silver Sponsor - CFDynamics http://www.cfdynamics.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187389 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
Prior to IE6, the boxmodel of IE was build upon the idea margin+padding+border were included in the width. Are you sure? I believe it included padding and border but not margin, but I haven't actually tested to verify this. Again, I'm basing my information off of the following page: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnie60/html /cssenhancements.asp When the !DOCTYPE declaration does not switch on standards-compliant mode, as with earlier versions of Internet Explorer, the width property includes the object's content box, plus the values of the following properties: border-left, border-right, padding-left, and padding-right. Subtracting the sum of the values of these properties from the value of the width property equals the width of the parent object's content box. Likewise, subtracting the sum of the values of the border-top, border-bottom, padding-top, and padding-bottom properties from the value of the height property equals the height of the parent object's content box. The box model can be workaround by not using width/height in combination with padding/margin. So add an extra nesting to prevent boxmodel issues, or change the boxmodel rendering with the css properties created for it. That's an interesting approach. I don't know why this hadn't occurred to me before, especially since I used to something similar for Netscape 4.x browsers. This model however can be suppressed by forcing IE into quirks. I would recommend it to everyone, since standards mode is to buggy for production. Is standards mode really buggy in this respect or does it just not degrade gracefully in older browsers? In any case, I agree that using quirks mode is the way to go for the time being. I use the following doctype, and I run into surprisingly few cross-browser, cross-platform or backwards compatibility issues: !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.0 Transitional//EN Ben Rogers http://www.c4.net v.508.240.0051 f.508.240.0057 ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187364 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
Micha Schopman wrote: This model however can be suppressed by forcing IE into quirks. I would recommend it to everyone, since standards mode is to buggy for production. I can't agree with the force IE into quirks suggestion. Working around the box model is just to easy to justify making IE even less standards compliant than it already is. I've been using CSS, rather than tables, for positioning and presentation for some time now and while forcing IE 6 into quirks mode might solve some problems found in IE, it doesn't make the overall process any easier or less buggy. If you force IE 6 into quirks mode, you still have to hack the box model--in quirks mode you'll just be lumping IE 6 in with the hack. The simple method of doing this is: #myBox { border: 1px solid #333; margin: 5px; padding: 5px; width: 200px; \width: 222px; /* All IE width */ } However, you can hack the box model for only IE 5.x easily enough using: #myBox { border: 1px solid #333; margin: 5px; padding: 5px; width: 200px; /* For browsers that don't understand escapes */ \width: 222px; /* IE 5.x width */ w\idth: 200px; /* IE 6 and other modern browsers' width */ } You could also use conditional comments to feed any version of IE selectors, properties, and values as necessary: !--[if IE 5] link rel=stylesheet type=text/css href=css/ie-5.x.css / ![endif]-- Which would contain: #myBox { width: 222px; } Using conditional comments allows you to keep all of your IE specific CSS in one stylesheet, helps to avoid using hacks in your main stylesheet, and improves the shelf life of the document. Standards mode for IE 6 is not too buggy for production. I'll agree it's not even close to perfect, but it is a step in the right direction and a far cry better than IE 5.x's poor CSS support. -- Best regards, Michael Wilson ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187378 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
Just a little hint here. If you're trying to develop using a specific doctype on a devnet version of CF, use cfcontent type=text/html/ at the top of your page. Otherwise, the devnet meta tag skews the doctype definition up. -Original Message- From: Michael Wilson [mailto:[EMAIL PROTECTED] Sent: Monday, December 13, 2004 10:47 AM To: CF-Talk Subject: Re: SOT moving to FireFox Ben Rogers wrote: Quirks mode allows developers to maintain backwards compatibility and avoid all those really ugly hacks you included in your message. The problem with the hacks is that they all rely on implementation bugs. If this were object oriented programming, the phrase would be program to the interface, not the implementation. Quirks mode also prevents developers from utilizing the standards advances and CSS support in IE 6. In addition, it only allows backwards compatibility in IE, which says nothing of more modern browsers like Mozilla and Firefox, which don't suffer from many of these problems. As I said before, regardless of which method you choose, you will still have to work around IE's broken box model--you can do it for just IE 5.x or you can do it for IE 5+, but quirks mode doesn't fix the problem; it compounds it. I don't like hacking and I avoid it whenever possible; however, there are times when you have to weigh the distaste of the hack against the desire for accessibility and standards--either way I don't care, I was just clarifying. I agree with the use of conditional comments as override mechanism for the reasons you mention. It's important to note the difference between this and the other hacks you described: this is a documented feature. As such, you can rely on it. It's also semantically clear. You can rely on the hacks to a great extent. The only caveats being that someone decides to create a browser that doesn't fully understand escapes (w\idth) and supporting NN 4.x, which is easily worked around using the @import method. My interpretation of what Micha was saying is that trying to use standards mode (as opposed to quirks mode), brings out the bugs and odd behavior in older browsers. This leads to more development time and ugly hacks like the ones you mentioned. Of course, I may have misunderstood Micha. :) Using standards mode may very well highlight the bugs in older browsers... but that's because standards mode is obviously a better implementation of the specs and we are bound to see the flaws of older browsers more easily. The need to use an *ugly hack* to correct an older browser's shortcomings should not be the basis for breaking a newer browser so we don't notice those bugs. You call it backwards compatibility and I'll call it backwards thinking. Either way I have no problems at all developing for IE 6 in standards mode, while maintaining support for IE 5.x. -- Best regards, Michael Wilson ~| Special thanks to the CF Community Suite Silver Sponsor - RUWebby http://www.ruwebby.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187398 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
Nope you are right .. I had to learn using quirks mode the hard way. During the creation of hundreds of css layouts we quickly figured out IE truly sucked when not in quirks mode. The bugs, were related to relative, absolute positioning, margins, paddings, canvas measurements, and oh much more. For the average simple blog you won't notice a lot of the problems, but creating stuffed dynamic UI's combined with javascript and keeping that CSS, that's is on the edge work for IE. Micha Schopman Project Manager Modern Media, Databankweg 12 M, 3821 AL Amersfoort Tel 033-4535377, Fax 033-4535388 KvK Amersfoort 39081679, Rabo 39.48.05.380 ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187391 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
Ben Rogers wrote: Quirks mode also prevents developers from utilizing the standards advances and CSS support in IE 6. It might be a little limiting, but backwards compatibility always is. In this case, through the use of either hacks or conditional comments, it doesn't have to be as limiting. Your argument supports simplifying backwards compatibility, not simply supporting it. Conditional comments alone, provides full support for backwards compatibility in IE to the point that quirks mode does. Conversely, hacks are just another means to keep things simple without loosing the advances made in IE 6. They may break in the future, but that heavily depends on the hack. Mozilla and Firefox, which don't suffer from many of these problems. Actually, they do suffer from the same problems. In fact, Mozilla's got it even worse since it has to support Netscape Navigator 4 behaviors in quirks mode. That's why Mozilla (and Firefox by extension) *do* support doctype switching. Issues in NN 4.0 are easily handled without forcing a modern browser to perform as an outdated, less than entirely functional (broken?) implementation. Depending on your needs, you could simply serve NN 4 an unstyled document. Alternatively, you can use the @import method to hide CSS as necessary. In either case you are getting the most out of modern browsers, while still serving a usable document to older browsers. If you need full blown support for NN 4, then you should base all of your CSS and markup on that browser's capability. By invoking quirks mode, you have to do very little to work around box model issues. By very little I mean that, on the typical site, I have to override between 3 and 4 classes defined in the standard style sheet. I use conditional comments to do this. I certainly don't need to implement any of the hacks that you described. You can see an example of this here: http://www.nelivery.org/ By invoking quirks mode you have to do the exact same things you would for IE 5.x. If you avoid the problem altogether, as you have in the example you provided, there's no need for a hack or any other work around. When you can't avoid the broken box model or choose to use more semantic markup within your document, IE 6 in quirks mode will break the box model just like IE 5 does. I don't see how this solves anything other than allowing you to treat all versions of IE 5+ the same in your stylesheets. On a typical site I may only use a hack or a conditional 3 or 4 times... the true number depends on the design and how I approach it. Often times I can avoid it completely, but when it pops up, I simply fix it. I agree. However, my point is that I've never had to use any of those hacks. Using a combination of quirks modes and the conditional comment behavior, you can avoid the necessity for those hacks. This results in less code. The code that you end up with is also easier to read code because it's not obfuscated with the hacks. You can do the exact same thing without forcing IE into quirks mode... That is exactly the point I was trying to make. Rather than create a conditional for IE 5+ you create one specifically for IE 5.x, while IE 6 continues to use the correct width settings in your master stylesheet. The only benefit forcing quirks mode offers is that you can address any IE 5+ shortcoming in a single all-ie stylesheet. You're exploiting bugs and undocumented behaviors. In my book, this means that you can't rely on them. That doesn't mean you shouldn't ever use them. However, it does mean they should be used as a last resort. Fortunately, I have never had to use them. Of course you don't ever have to use a hack. You can avoid it in a number of ways--in the markup, by using conditionals comments, or by avoiding the use of margin, padding, and border combinations. Quirks mode in Internet Explorer, Mozilla and Oprah is a feature. You are not breaking the browser by using this feature. It exists for this very reason. Ok, then you are intentionally making the browser behave incorrectly and ignoring the CSS 2 spec. You call it backwards compatibility and I'll call it backwards thinking. Please avoid personal attacks. There's really no call for that. That wasn't a personal attack. Had I called you a elitist asshat who thinks backasswards, that would have been a personal attack. I was attacking on your view, not you. My apologies, if you were offended. It wasn't my intent to pick a fight, I was just offering an alternative solution to quirks mode. -- Best regards, Michael Wilson ~| Special thanks to the CF Community Suite Silver Sponsor - CFDynamics http://www.cfdynamics.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187457 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe:
RE: SOT moving to FireFox
In this case, through the use of either hacks or conditional comments, it doesn't have to be as limiting. Your argument supports simplifying backwards compatibility, not simply supporting it. Conditional comments alone, provides full support for backwards compatibility in IE to the point that quirks mode does. Conversely, hacks are just another means to keep things simple without loosing the advances made in IE 6. They may break in the future, but that heavily depends on the hack. When you talk about advancements, what are you referring to? I consider the improvements in style sheet support between Internet Explorer 5.5 and 6.0 to be pretty insignificant. In fact, I consider the difference in style sheet support from Internet Explorer 5.0 to Firefox 1 to be relatively minor. My reasoning is that I find it easy to design a site which looks almost pixel perfect in both browsers. The link I posted is an example of this. My basis for comparison is the nightmare of time I used to have making sites look the same in Netscape 4.x and Internet Explorer 4.x. I guess my point is, I'm not sure what I'm missing out on by using quirks mode? You seem to think that I'm sacrificing a lot, but in all honesty, I'm not sure what that is. Whatever it is, it had better be worth ugly hacks and a more fragile code base. Issues in NN 4.0 are easily handled without forcing a modern browser to perform as an outdated, less than entirely functional (broken?) implementation. Depending on your needs, you could simply serve NN 4 an unstyled document. Alternatively, you can use the @import method to hide CSS as necessary. In either case you are getting the most out of modern browsers, while still serving a usable document to older browsers. If you need full blown support for NN 4, then you should base all of your CSS and markup on that browser's capability. I was not commenting on how to support Netscape 4. In fact, I wasn't even suggesting that you should support Netscape 4. I was taking issue with your claim that quirks mode was an Internet Explorer only feature. You wrote: ...it only allows backwards compatibility in IE, which says nothing of more modern browsers like Mozilla and Firefox. That is simply not true. By invoking quirks mode you have to do the exact same things you would for IE 5.x. If you avoid the problem altogether, as you have in the example you provided, there's no need for a hack or any other work around. I'm a little lost. Are you agreeing that, by using quirks mode, you obviate the need for the hacks? In any case, there is still a need for a workaround -- at least in the example I provided. Specifically, I used the conditional comment to include an Internet Explorer style sheet which overrides 4 properties in 3 classes. To of those class overrides actually fix a peculiar behavior in Internet Explorer regarding trailing white space on inline elements. Switching to standards mode does not correct that behavior. I assume that it's an Internet Explorer bug but haven't researched it thoroughly. When you can't avoid the broken box model or choose to use more semantic markup within your document, IE 6 in quirks mode will break the box model just like IE 5 does. I don't see how this solves anything other than allowing you to treat all versions of IE 5+ the same in your stylesheets. The point is to treat all supported browsers the same. It succeeds to the extent that there are only a few classes that need to be overridden for Internet Explorer. It also accomplishes this without the use of undocumented behaviors and hacks. On a typical site I may only use a hack or a conditional 3 or 4 times... the true number depends on the design and how I approach it. Often times I can avoid it completely, but when it pops up, I simply fix it. Which is my point. I don't want to go back and check all my sites every time Microsoft releases an Internet Explorer patch because I'm relaying on undocumented behavior. You can do the exact same thing without forcing IE into quirks mode... That is exactly the point I was trying to make. Rather than create a conditional for IE 5+ you create one specifically for IE 5.x, while IE 6 continues to use the correct width settings in your master stylesheet. The only benefit forcing quirks mode offers is that you can address any IE 5+ shortcoming in a single all-ie stylesheet. If that's the point you're trying to make, then why would you need to use the hacks at all? It seems to me that conditional comments solve the same thing as the hacks. One is supported; one is not. As to the other point, I use quirks mode because it provides the best backward compatibility. For the most part, I don't have to specifically code for backward compatibility. I'm taking advantage of the browser's built in features. Of course you don't ever have to use a hack. You can avoid it in a number of ways--in the markup, by using conditionals comments, or by avoiding the
RE: SOT moving to FireFox
Yep.. everything you added, was seen as a thief of the final width. Micha Schopman Software Engineer Modern Media, Databankweg 12 M, 3821 AL Amersfoort Tel 033-4535377, Fax 033-4535388 KvK Amersfoort 39081679, Rabo 39.48.05.380 ~| Special thanks to the CF Community Suite Silver Sponsor - RUWebby http://www.ruwebby.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187366 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
The simplest way is to simply declare a proper doctype which switches IE to using the W3C box model. Be aware that the doctypes included in CF Studio/Homesite are not valid. A good article with valid doctypes is available here: http://www.alistapart.com/articles/doctype/ -Kevin -Original Message- From: Victor Moore [mailto:[EMAIL PROTECTED] Sent: Sunday, December 12, 2004 9:04 PM To: CF-Talk Subject: Re: SOT moving to FireFox Interesting. So how are people coding for this? Determine the browser and then have two dimensions? I was wondering if M$ is doing this on purpose or just doesn't care. Thanks Barney Victor On Sun, 12 Dec 2004 18:46:13 -0800, Barney Boisvert [EMAIL PROTECTED] wrote: IE incorrectly implements the CSS box model, while FF (and other browsers) gets it right. Specifically, IE assumes the width you specify is for the actual content area of the elements box, while the CSS spec says that the width you specify is for the entire box (including padding, border, and margin). So if you've got 5px of margin, a 1px border, and 4px of padding, your elements will be 10px wider than they should be. Or, if you're looking at it from the IE side, rather than the standards side, a standards compliant browser will show your boxes 10px smaller than you're used to. cheers, barneyb On Sun, 12 Dec 2004 21:28:48 -0500, Victor Moore [EMAIL PROTECTED] wrote: Thanks Isaac, I have implemented the second part and it's working fine. I am working now on the first one. There is actually one function for all the events: document.onmouseout = ItemOut; document.onmousedown = ItemDown; document.onmouseup = ItemUp; Thanks again. Victor PS One more thing: Is there a difference in rendering between the two browsers? It seems that there is 5 pixel offset. Not a biggie but some items on the form are not aligned properly. -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/blog/ ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187369 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
This is one of the most made failures when people try to learn tabeless layouting. That mode alistapart uses is only sufficient for simple layouts. Quirk mode is the safest mode you can use. There is no reason to use XHTML strict or transitional doctypes with IE, because XHTML isn't even supported by IE, despite what many people might think. You are just being fooled by IE ;) Micha Schopman Software Engineer Modern Media, Databankweg 12 M, 3821 AL Amersfoort Tel 033-4535377, Fax 033-4535388 KvK Amersfoort 39081679, Rabo 39.48.05.380 ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187387 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
Ben Rogers wrote: Quirks mode allows developers to maintain backwards compatibility and avoid all those really ugly hacks you included in your message. The problem with the hacks is that they all rely on implementation bugs. If this were object oriented programming, the phrase would be program to the interface, not the implementation. Quirks mode also prevents developers from utilizing the standards advances and CSS support in IE 6. In addition, it only allows backwards compatibility in IE, which says nothing of more modern browsers like Mozilla and Firefox, which don't suffer from many of these problems. As I said before, regardless of which method you choose, you will still have to work around IE's broken box model--you can do it for just IE 5.x or you can do it for IE 5+, but quirks mode doesn't fix the problem; it compounds it. I don't like hacking and I avoid it whenever possible; however, there are times when you have to weigh the distaste of the hack against the desire for accessibility and standards--either way I don't care, I was just clarifying. I agree with the use of conditional comments as override mechanism for the reasons you mention. It's important to note the difference between this and the other hacks you described: this is a documented feature. As such, you can rely on it. It's also semantically clear. You can rely on the hacks to a great extent. The only caveats being that someone decides to create a browser that doesn't fully understand escapes (w\idth) and supporting NN 4.x, which is easily worked around using the @import method. My interpretation of what Micha was saying is that trying to use standards mode (as opposed to quirks mode), brings out the bugs and odd behavior in older browsers. This leads to more development time and ugly hacks like the ones you mentioned. Of course, I may have misunderstood Micha. :) Using standards mode may very well highlight the bugs in older browsers... but that's because standards mode is obviously a better implementation of the specs and we are bound to see the flaws of older browsers more easily. The need to use an *ugly hack* to correct an older browser's shortcomings should not be the basis for breaking a newer browser so we don't notice those bugs. You call it backwards compatibility and I'll call it backwards thinking. Either way I have no problems at all developing for IE 6 in standards mode, while maintaining support for IE 5.x. -- Best regards, Michael Wilson ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187395 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
Quirks mode also prevents developers from utilizing the standards advances and CSS support in IE 6. It might be a little limiting, but backwards compatibility always is. In addition, it only allows backwards compatibility in IE, which says nothing of more modern browsers like Mozilla and Firefox, which don't suffer from many of these problems. Actually, they do suffer from the same problems. In fact, Mozilla's got it even worse since it has to support Netscape Navigator 4 behaviors in quirks mode. That's why Mozilla (and Firefox by extension) *do* support doctype switching. http://gutfeldt.ch/matthias/articles/doctypeswitch/table.html As you can see, even Opera 7+ supports doctype switching. As I said before, regardless of which method you choose, you will still have to work around IE's broken box model--you can do it for just IE 5.x or you can do it for IE 5+, but quirks mode doesn't fix the problem; it compounds it. By invoking quirks mode, you have to do very little to work around box model issues. By very little I mean that, on the typical site, I have to override between 3 and 4 classes defined in the standard style sheet. I use conditional comments to do this. I certainly don't need to implement any of the hacks that you described. You can see an example of this here: http://www.nelivery.org/ I don't like hacking and I avoid it whenever possible; however, there are times when you have to weigh the distaste of the hack against the desire for accessibility and standards--either way I don't care, I was just clarifying. I agree. However, my point is that I've never had to use any of those hacks. Using a combination of quirks modes and the conditional comment behavior, you can avoid the necessity for those hacks. This results in less code. The code that you end up with is also easier to read code because it's not obfuscated with the hacks. You can rely on the hacks to a great extent. The only caveats being that someone decides to create a browser that doesn't fully understand escapes (w\idth) and supporting NN 4.x, which is easily worked around using the @import method. You're exploiting bugs and undocumented behaviors. In my book, this means that you can't rely on them. That doesn't mean you shouldn't ever use them. However, it does mean they should be used as a last resort. Fortunately, I have never had to use them. Using standards mode may very well highlight the bugs in older browsers... but that's because standards mode is obviously a better implementation of the specs and we are bound to see the flaws of older browsers more easily. The need to use an *ugly hack* to correct an older browser's shortcomings should not be the basis for breaking a newer browser so we don't notice those bugs. Quirks mode in Internet Explorer, Mozilla and Oprah is a feature. You are not breaking the browser by using this feature. It exists for this very reason. You call it backwards compatibility and I'll call it backwards thinking. Please avoid personal attacks. There's really no call for that. Either way I have no problems at all developing for IE 6 in standards mode, while maintaining support for IE 5.x. You are forced to use hacks that exploit undocumented behaviors and outright bugs. This produces fragile code. I would call this a pretty serious problem. Nevertheless, I think we'll have to agree to disagree on this point. Ben Rogers http://www.c4.net v.508.240.0051 f.508.240.0057 ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187401 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
Kevin, Thanks. Very interesting. Andy -Original Message- From: Kevin Graeme [mailto:[EMAIL PROTECTED] Sent: Monday, December 13, 2004 9:26 AM To: CF-Talk Subject: RE: SOT moving to FireFox The simplest way is to simply declare a proper doctype which switches IE to using the W3C box model. Be aware that the doctypes included in CF Studio/Homesite are not valid. A good article with valid doctypes is available here: http://www.alistapart.com/articles/doctype/ -Kevin -Original Message- From: Victor Moore [mailto:[EMAIL PROTECTED] Sent: Sunday, December 12, 2004 9:04 PM To: CF-Talk Subject: Re: SOT moving to FireFox Interesting. So how are people coding for this? Determine the browser and then have two dimensions? I was wondering if M$ is doing this on purpose or just doesn't care. Thanks Barney Victor On Sun, 12 Dec 2004 18:46:13 -0800, Barney Boisvert [EMAIL PROTECTED] wrote: IE incorrectly implements the CSS box model, while FF (and other browsers) gets it right. Specifically, IE assumes the width you specify is for the actual content area of the elements box, while the CSS spec says that the width you specify is for the entire box (including padding, border, and margin). So if you've got 5px of margin, a 1px border, and 4px of padding, your elements will be 10px wider than they should be. Or, if you're looking at it from the IE side, rather than the standards side, a standards compliant browser will show your boxes 10px smaller than you're used to. cheers, barneyb On Sun, 12 Dec 2004 21:28:48 -0500, Victor Moore [EMAIL PROTECTED] wrote: Thanks Isaac, I have implemented the second part and it's working fine. I am working now on the first one. There is actually one function for all the events: document.onmouseout = ItemOut; document.onmousedown = ItemDown; document.onmouseup = ItemUp; Thanks again. Victor PS One more thing: Is there a difference in rendering between the two browsers? It seems that there is 5 pixel offset. Not a biggie but some items on the form are not aligned properly. -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/blog/ ~| Special thanks to the CF Community Suite Silver Sponsor - RUWebby http://www.ruwebby.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187403 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
Yeah, you're right, I did have it backwards. Apologies for that. Sunday night and my brain wasn't working on all cylinders. cheers, barneyb On Mon, 13 Dec 2004 09:31:35 -0500, Ben Rogers [EMAIL PROTECTED] wrote: IE incorrectly implements the CSS box model, while FF (and other browsers) gets it right. Specifically, IE assumes the width you specify is for the actual content area of the elements box, while the CSS spec says that the width you specify is for the entire box (including padding, border, and margin). You've got that backwards. In CSS, the width does not include padding, border, and margin. In older versions of Internet Explorer, the padding and border were included in the width. snip / -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/blog/ ~| Special thanks to the CF Community Suite Silver Sponsor - RUWebby http://www.ruwebby.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187405 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
Actually that is not totally correct. IE 5.x implements the box model as you describe. However, IE6 in standards mode implements the box model as specified by the CSS 2 standards. Standards mode is decided on by the browser, by the DocType you use. No Doctype will throw any browser into quirks mode. The best DocTypes for standards mode across browsers are HTML 4.01 strict and xHTML 1.0 strict (no xml prolog, since that throws IE6 right into quirks mode). Sandy Clark -Original Message- From: Barney Boisvert [mailto:[EMAIL PROTECTED] Sent: Sunday, December 12, 2004 9:46 PM To: CF-Talk Subject: Re: SOT moving to FireFox IE incorrectly implements the CSS box model, while FF (and other browsers) gets it right. Specifically, IE assumes the width you specify is for the actual content area of the elements box, while the CSS spec says that the width you specify is for the entire box (including padding, border, and margin). So if you've got 5px of margin, a 1px border, and 4px of padding, your elements will be 10px wider than they should be. Or, if you're looking at it from the IE side, rather than the standards side, a standards compliant browser will show your boxes 10px smaller than you're used to. cheers, barneyb On Sun, 12 Dec 2004 21:28:48 -0500, Victor Moore [EMAIL PROTECTED] wrote: Thanks Isaac, I have implemented the second part and it's working fine. I am working now on the first one. There is actually one function for all the events: document.onmouseout = ItemOut; document.onmousedown = ItemDown; document.onmouseup = ItemUp; Thanks again. Victor PS One more thing: Is there a difference in rendering between the two browsers? It seems that there is 5 pixel offset. Not a biggie but some items on the form are not aligned properly. -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/blog/ ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187431 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
Thank you all, very informative and usefull information. The good thing is that after I implemented the changes mentioned by Isaac, the application now almost functions in FF. There are som css and GUI issues that I hope I will be able to fix using the info from this thread. Thanks, Victor ~| Special thanks to the CF Community Suite Silver Sponsor - CFDynamics http://www.cfdynamics.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187495 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
There are a few DHTML widgets and they are not working properly in FF. For example the following is some of the code behind one DHTML widget: document.onmouseover = ItemOver; var eOld = null; function ItemOver() { var eSrc = window.event.srcElement; if (eSrc != null eSrc.className == item-b) { eSrc.className = item-b2; } } // this one complains about window.event has no properties This wouldn't necessarily be a bad way to handle this task _if_ srcElement were a DOM standard property of the event object... The event object itself is part of the DOM, so that's okay. Though it would be much better to include a similar function in the onMouseOver event-handler for each item of class item-b on your page... function ItemOver(item) { item.className = 'item-b2'; } then in your elements div class=item-b onmouseover=ItemOver(this); / Unfortunately it doesn't look as though there is a DOM standard syntax that would really be comparable to your original script. Although in general looking at the script I have to think to myself and you want to do this why? ... It's designed to change the class-name of objects once they've been moused-over, but without changing them back on a mouseout event? ... just seems odd... function setItem(eSrc, eNo, eExtern) { eOld = eSrc; if (eNo == 1) eOld.className = item-b1; else eOld.className = item-b4; var eTxt = eval(txt + eOld.id); eTxt.style.display = ; } // the eSrc is item1 and it complains during the eval function: txtitem1 is not defined what will be the equivalent of window.event in DOM2 event model? This one's reasonably easy... You have to have an element on the page with the ID (or possibly name) attribute of 'txtitem1' and then you can replace var eTxt = eval(txt+eOld.id); with var eTxt = document.getElementById(txt + eOld.id); I would also recommend adding in the {} braces ... I understand that the code works currently without them but, the less consistent demarkation your code has (missing {}, missing ; at the end of a line), the more potential there is for the code to produce undesirable behavior, whether that's an error or something else. s. isaac dealey 954.927.5117 new epoch : isn't it time for a change? add features without fixtures with the onTap open source framework http://www.sys-con.com/story/?storyid=44477DE=1 http://www.sys-con.com/story/?storyid=45569DE=1 http://www.fusiontap.com ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187301 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
Thanks Isaac, I have implemented the second part and it's working fine. I am working now on the first one. There is actually one function for all the events: document.onmouseout = ItemOut; document.onmousedown = ItemDown; document.onmouseup = ItemUp; Thanks again. Victor PS One more thing: Is there a difference in rendering between the two browsers? It seems that there is 5 pixel offset. Not a biggie but some items on the form are not aligned properly. ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187309 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
Interesting. So how are people coding for this? Determine the browser and then have two dimensions? I was wondering if M$ is doing this on purpose or just doesn't care. Thanks Barney Victor On Sun, 12 Dec 2004 18:46:13 -0800, Barney Boisvert [EMAIL PROTECTED] wrote: IE incorrectly implements the CSS box model, while FF (and other browsers) gets it right. Specifically, IE assumes the width you specify is for the actual content area of the elements box, while the CSS spec says that the width you specify is for the entire box (including padding, border, and margin). So if you've got 5px of margin, a 1px border, and 4px of padding, your elements will be 10px wider than they should be. Or, if you're looking at it from the IE side, rather than the standards side, a standards compliant browser will show your boxes 10px smaller than you're used to. cheers, barneyb On Sun, 12 Dec 2004 21:28:48 -0500, Victor Moore [EMAIL PROTECTED] wrote: Thanks Isaac, I have implemented the second part and it's working fine. I am working now on the first one. There is actually one function for all the events: document.onmouseout = ItemOut; document.onmousedown = ItemDown; document.onmouseup = ItemUp; Thanks again. Victor PS One more thing: Is there a difference in rendering between the two browsers? It seems that there is 5 pixel offset. Not a biggie but some items on the form are not aligned properly. -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/blog/ ~| Special thanks to the CF Community Suite Silver Sponsor - CFDynamics http://www.cfdynamics.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187312 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
RE: SOT moving to FireFox
-Original Message- From: Rob [mailto:[EMAIL PROTECTED] Sent: Sunday, December 12, 2004 10:34 PM To: CF-Talk Subject: Re: SOT moving to FireFox I was wondering if M$ is doing this on purpose or just doesn't care. I doubt they are doing it on purpose. I think it's just they just have little reason to fix them, and some people insist that is valid behavior because they have lots of money. For what it's worth it seems clear to me that IE was an unfortunate victim of consolidation. Let's remember that IE 6 is what, 5 years old? When it was released it really did have surprisingly good standards support (especially considering that many of the standards that it supported weren't even done yet) - perhaps the best at the time (even Opera, which had better support for some standards at the time failed to support others completely). MS sat on its haunches watching this (admit it) truly good browser grow in usage until it dominated. Then they got lazy. Sure, they addressed security issues but there was nothing more than keeping the lights on maintenance money for IE. They got so lazy in fact that even an open source project was able to smoke them (talk about the tortoise and the hair - FireFox took at least 5 years of development to reach 1.0 status). Finally they formalized the ridiculousness: new versions of IE would only be distributed with new versions of Windows. This seemingly solved many issues for them: they spent years in court trying to prove that IE was a core OS component - this only confirmed that. They found themselves with larger OS issues than they imagined so they pulled the best into that arena. Besides, so the logic went, the next version of Windows will be out in late 2004! That's not so long to wait. Of course that's a mistake: the next version of Windows won't reach us until late next year if then - and even then it will lack several of the key technologies driving its development. So MS finds itself with a woefully out of date browser against renewed threats from Apple and open source - both of which bring more to the table than IE. Of course IE has slowed it's own demise somewhat through it's extensibility: browsers like AvantBrowser and others have popped up to add new faces and capabilities to IE. Clever authors have discovered ways to use IEs extensibility to overcome some of the more egregious issues with it. But when it comes down to it we're still looking at a truly ancient codebase (a codebase that I think should be praised for it's longevity rather than crucified for its failings compared to newer tools). MS does seem to have heard the music. Rumors are flying that the IE development team has been reassembled and at that something will be released before the next version of Windows. We'll see if they're able to address the problems in time for it to make any difference, but I hope they do. As old and decrepit as it is IE is still a strong platform. It's a broken platform to be sure, but one that still has a definite spark of promise - if only it wasn't abandoned. Jim Davis ~| Special thanks to the CF Community Suite Silver Sponsor - New Atlanta http://www.newatlanta.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187315 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
Take a look at the post on leftjustified.net on the topic where they tear down the box model and start from scratch universally: http://leftjustified.net/journal/2004/10/19/global-ws-reset/ Adam Howitt http://www.webdevref.com Rob wrote: On Sun, 12 Dec 2004 22:04:20 -0500, Victor Moore [EMAIL PROTECTED] wrote: Interesting. So how are people coding for this? Determine the browser and then have two dimensions? I just do give and take untill it looks ok in IE and great in FireFox. If it gets really bad then I do sniff the browser and adjust for IEs bugs. Here are some more good ones to watch out for: http://www.positioniseverything.net/explorer.html I was wondering if M$ is doing this on purpose or just doesn't care. I doubt they are doing it on purpose. I think it's just they just have little reason to fix them, and some people insist that is valid behavior because they have lots of money. On Sun, 12 Dec 2004 18:46:13 -0800, Barney Boisvert [EMAIL PROTECTED] wrote: IE incorrectly implements the CSS box model, while FF (and other browsers) gets it right. Specifically, IE assumes the width you specify is for the actual content area of the elements box, while the CSS spec says that the width you specify is for the entire box (including padding, border, and margin). So if you've got 5px of margin, a 1px border, and 4px of padding, your elements will be 10px wider than they should be. Or, if you're looking at it from the IE side, rather than the standards side, a standards compliant browser will show your boxes 10px smaller than you're used to. cheers, barneyb - [This E-mail scanned for viruses by declude AntiVirus Software] ~| Special thanks to the CF Community Suite Silver Sponsor - CFDynamics http://www.cfdynamics.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187316 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
IE incorrectly implements the CSS box model, while FF (and other browsers) gets it right. Specifically, IE assumes the width you specify is for the actual content area of the elements box, while the CSS spec says that the width you specify is for the entire box (including padding, border, and margin). So if you've got 5px of margin, a 1px border, and 4px of padding, your elements will be 10px wider than they should be. Or, if you're looking at it from the IE side, rather than the standards side, a standards compliant browser will show your boxes 10px smaller than you're used to. cheers, barneyb On Sun, 12 Dec 2004 21:28:48 -0500, Victor Moore [EMAIL PROTECTED] wrote: Thanks Isaac, I have implemented the second part and it's working fine. I am working now on the first one. There is actually one function for all the events: document.onmouseout = ItemOut; document.onmousedown = ItemDown; document.onmouseup = ItemUp; Thanks again. Victor PS One more thing: Is there a difference in rendering between the two browsers? It seems that there is 5 pixel offset. Not a biggie but some items on the form are not aligned properly. -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/blog/ ~| Special thanks to the CF Community Suite Silver Sponsor - CFDynamics http://www.cfdynamics.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187310 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
There are a few CSS parsing bugs that are unique to IE as well. You can use those to easily specify both dimensions. For example, IE will transparently ignore // comment in stylesheets, while Mozilla correctly recognizes the invalid syntax and ignores through the end of the rule. That lets you do things like this: #mydiv { width: 50px; border: 1px solid #f90; padding: 3px; margin: 0px; // width: 58px; } Now the mydiv box will appear the same width on both IE and FF (50 pixel content area, 58 pixels to the outside of the borders). There is also a hack termed the box model hack that a google search should turn up quite easily. To return to the discussion (read: flame war) of a few days ago, this is a good example of developing compliant code, and then tweaking it for IE's discrepancies. In other words, I deal with the first four lines of that style block, and then when I'm finished with everything, fire it up and IE and see what bits of hackery I need to add (the fifth line). In general, there aren't very many unless you'd doing pretty complicated layout stuff that requires pixel perfection. cheers, barneyb On Sun, 12 Dec 2004 22:04:20 -0500, Victor Moore [EMAIL PROTECTED] wrote: Interesting. So how are people coding for this? Determine the browser and then have two dimensions? I was wondering if M$ is doing this on purpose or just doesn't care. Thanks Barney Victor -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/blog/ ~| Special thanks to the CF Community Suite Gold Sponsor - CFHosting.net http://www.cfhosting.net Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187323 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54
Re: SOT moving to FireFox
After sending this I realized I was AMAZINGLY unclear on the first paragraph. What I should have said was something like this : IE has some parsing bugs that can make this easier. For example, if you use a // for a one-line comment (a syntax that CSS does NOT support), IE will read the slashes, and then continue to read whatever's behind it. Mozilla (including FF) will properly ignore the entire line as invalid. So you can specify the standards-compliant style value, and then specify an IE-only one behind double slashes: Sorry for the confusion. cheers, barneyb On Sun, 12 Dec 2004 21:27:45 -0800, Barney Boisvert [EMAIL PROTECTED] wrote: There are a few CSS parsing bugs that are unique to IE as well. You can use those to easily specify both dimensions. For example, IE will transparently ignore // comment in stylesheets, while Mozilla correctly recognizes the invalid syntax and ignores through the end of the rule. That lets you do things like this: #mydiv { width: 50px; border: 1px solid #f90; padding: 3px; margin: 0px; // width: 58px; } Now the mydiv box will appear the same width on both IE and FF (50 pixel content area, 58 pixels to the outside of the borders). There is also a hack termed the box model hack that a google search should turn up quite easily. To return to the discussion (read: flame war) of a few days ago, this is a good example of developing compliant code, and then tweaking it for IE's discrepancies. In other words, I deal with the first four lines of that style block, and then when I'm finished with everything, fire it up and IE and see what bits of hackery I need to add (the fifth line). In general, there aren't very many unless you'd doing pretty complicated layout stuff that requires pixel perfection. cheers, barneyb -- Barney Boisvert [EMAIL PROTECTED] 360.319.6145 http://www.barneyb.com/blog/ ~| Special thanks to the CF Community Suite Silver Sponsor - New Atlanta http://www.newatlanta.com Message: http://www.houseoffusion.com/lists.cfm/link=i:4:187324 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4 Donations Support: http://www.houseoffusion.com/tiny.cfm/54