Internet Explorer -- argh!!!!!

I would prefer to avoid Microsoft-bashing, but today I've spent time
trying to get my tree
viewer to work under Internet Explorer 6 and 7, and it's hell. Here
are the problems I've had to deal with:
Empty DIV bug
On IE 6 the top of the scrollbar overlapped the transparent area when
the page first loads. Eventually discovered that this is a bug in IE. It
gives empty DIVs a height approximately equal to the font-height for the
DIV, even if the DIV has height:0px; (see here
for a discussion). I set the CSS for this DIV to overflow:hidden;, and the DIV now
behaves.
Opacity
The viewer makes use of opacity, that is, having DIVs that are coloured,
but which you can see through. This enables me to add layers over the
top of an image. IE doesn't support the standard way of doing this, so
styles such as opacity:0.5;
must also be written as filter:alpha(opacity=50); (thanks to
David Shorthouse for pointing this out to me).
Background transparency
The DIV overlaying the big tree has background-color:transparent;, which
means it refuses to accept any mouse clicks on the big tree. Changing
the color to anything else meant the DIV received the clicks, so I ended
up using a fairly ugly hack to include Internet Explorer-specific CSS
for this DIV (idea borrowed from How to Use
Different CSS Style Sheets For Different Browsers (and How to Hide CSS
Code from Older Browsers)).
z-index bug
The final show stopper was the auto-complete drop down list of taxon
names. On IE it disappeared behind the big tree. This
is the infamous z-index
bug. The drop down menu is a DIV created on the fly, and although it's
z-index value (99) means it should be placed on top of the tree (so the
user can see the list of taxa), it isn't. After some Googling I settled
on the hack of setting the z-index for the DIV containing the big tree
to -1 in IE only, and this seems to work.
IE is sometimes good
Sometimes it has to be said, IE has it's good points. The tree viewer
failed in part because I'd failed to define a Javascript variable.
Somehow FireFox and Safari were OK with this, but IE 6 broke. I defined
the variable and it worked. I've also learnt to avoid some variable
names, such as scroll. I find FireFox to a better
browser for developing stuff, especially if the Firebug
extension is installed. However, the Internet
Explorer Developer Toolbar is useful if you need to figure out what
IE is doing.
Conclusion
It's staggering how much time one can waste trying to cater to the weird
and wonderful ways of Internet Explorer. However, the tree
viewer should now work for those of you running Internet
Explorer.
Additional details
Description
I would prefer to avoid Microsoft-bashing, but today I've spent time trying to get my tree viewer to work under Internet Explorer 6 and 7, and it's hell. Here are the problems I've had to deal with: Empty DIV bug On IE 6 the top of the scrollbar overlapped the transparent area when the page first loads.
Identifiers
- UUID
- 4d4da37b-8fce-4d09-92e4-652a08b5737f
- GUID
- tag:blogger.com,1999:blog-16081779.post-3714682471289818822
- URL
- https://iphylo.blogspot.com/2007/08/internet-explorer-argh.html
Dates
- Issued
-
2007-08-20T12:54:00
- Updated
-
2007-08-20T14:41:18