I have been quite busy these past two weeks with a front-end project for a client. I can't say who yet but the "user-agent" matrix they had tells me that they maybe sticklers, making sure the Web pages we are developing for them work and look good across different browsers.
So, in the last two weeks I was transported back to the year 2000 when I was developing Web pages for IE5.5, IE6, and Netscape. Trust me, those were not the greatest times to be front-end developers.
Internet Explorer, in particular, was the bane of Web developers who happen to be working on projects where Web pages need to look consistent across different browsers. If the little annoying differences between IE and Netscape don't kill you, then the little annoying differences between IE5, IE5.5, and IE6 will.
If it appears that I'm singling out Internet Explorer as cause for the grief of front-end developers around the world, then you are not mistaken because I am and the past two weeks reminded me of why I abhorred developing Web pages for IE.
Luckily, things have changed, thanks to the availability of robust debugging tools, not to mention, the establishment of standards like those from the W3C.
So it's still annoying but it's not as hard anymore. Allow me to share the things that have helped me these past few days.
"'Layout' is an IE/Win proprietary concept that
determines how elements draw and bound their content, interact with and
relate to other elements, and react on and transmit application/user
events."
Take note, it's an IE/Win proprietary concept.
Some HTML elements like table, img, or input have layout by default but
a div does not. Since we're building our page mostly on div elements,
you can see why these so called "rendering issues" are such a pain and
why there are those who just give up and go back to using tables.
However, it's not hard to give a div element "layout". One way
suggested by the article is by setting dimensions like height or width
for the div element.
Read the article for more information and tips on giving "layout" to HTML elements and avoiding those "rendering issues" on IE.
"...all browsers needed two modes: quirks mode for the old rules, strict mode for
the standard. Explorer Mac was the first browser to implement the two modes, and Explorer Windows 6, Mozilla,
Safari, and Opera followed suit. Explorer 5 Windows, as well as older article browsers like Netscape 4, are
permanently locked in quirks mode.
Quirksmode.org has a detailed description of the two modes and how they affect different aspects of the page in different browsers.
"IE7 is a JavaScript library to make MSIE behave like a standards-compliant browser. It fixes many CSS issues and makes transparent PNG work correctly under IE5 and IE6.
It's really a great solution that works but I ended up not using it because:
- It's a JavaScript solution. Hence, if JavaScript is off, well, you know what happens.
- Load time for me was slow. I figured out later on that it was due to how css was defined. It seems that if you use a lot of wild card selectors it slows down execution time of the script. I was using extjs for this project and I just couldn't change all the css to not use wild card selectors.
Early last week Caroline asked me if I could actually write this blog entry knowing that IE was the subject without swearing. I think I did a pretty good job, don't you think? :-)
and you didn't even have to resort to *@# and such.
Thanks
Caroline
by Caroline Meeks on 03/16/08
You may request notification for Solution Grove Blog.