Archive for ‘Browser Bugs’

How to beat the nightmares of IE6 thanks to Google.

By Simon, 10 March, 2010, No Comment

If you’ve been designing web sites for any length of time you will have come across some pain dealing with IE6. It single-handedly causes more nightmares than all the other browsers put together. Today I’d like to talk about solutions which may fix many IE6 problems and all it takes is a minute.

Share this post with others:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • De.lirio.us
  • Live
  • StumbleUpon
  • LinkedIn
  • Print
  • Slashdot
  • Technorati
  • TwitThis

Image flickering bug in IE for a:hover background images

By Simon, 29 October, 2009, No Comment

Image flickering on CSS mouseover in IE is something that you come across from time to time and I came across it last night while working on a project. The problem was I had a “on the tip of my tongue” moment and couldn’t remember what I needed to do to resolve it. As with most IE bugs there are multiple solutions to the same problem but I couldn’t remember the simplest method and the one which doesn’t involve JS or other equally nasty fixes. A quick break to get a drink and the solution popped back into my head. This post is to remind me in the future and to hopefully help you now:

Problem:
In IE ( it was doing it in 6,7 and 8 ) when I hovered over the image (in this case it was a PNG image) the image would either flicker or disappear completely for half a second before coming back. The image rollover was a background image due to requiring other content inside the div.

Solution:
I needed to add the background image to both the parent element AND the child element (in this case the DIV and A tags).

This will work in any situation whether it be a list item, a paragraph or in this case a div. An example is:

#divname {background-image: url(img/yourimage.png);height: 100px; width: 100px;}
#divname a {background-image: url(img/yourimage.png);height: 100px; width: 100px;}
#divname a:hover {background-image: url(img/yourhoverimage.png);height: 100px; width: 100px;}

You could also cut down the problem code by simply doing:

#divname, #divname a {background-image: url(img/yourimage.png); height: 100px; width: 100x;}

I have stripped out all the excess (but needed) code just to show you the relevant code to this specific problem.

By adding it to both elements when IE wants to flicker the fact the parent element also has the same image in the same place prevents the flicker because the same image sits behind the child element. IE’s cache is still (incorrectly) refreshing but you can’t see it anymore thanks to the same image sitting behind it.

It isn’t an ideal solution but it is better than many out there. At least it uses the same image so the browser doesn’t have much more to load.

Share this post with others:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • De.lirio.us
  • Live
  • StumbleUpon
  • LinkedIn
  • Print
  • Slashdot
  • Technorati
  • TwitThis

All the IE bugs plus fixes in one handy location

By Simon, 29 May, 2009, 1 Comment

There are a number of IE bugs and with IE8 the bug list just keeps on growing. Positioneverything.net has the nost extensive list of IE bugs and fixes I’ve seen.

Visit: http://www.positioniseverything.net/explorer.html

Every web designer should have this bookmarked!

Share this post with others:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • De.lirio.us
  • Live
  • StumbleUpon
  • LinkedIn
  • Print
  • Slashdot
  • Technorati
  • TwitThis

Vertically aligning text without the use of JavaScript

By Simon, 24 March, 2009, 1 Comment

This is one of those really annoying CSS bugs that should be so simple to do but is actually fairly problematic because of old browsers like IE6. Vertical-align should be all that’s needed but nope, certain browsers like IE6 don’t support it so we need to do some wizardry to get it to work cross browser. In this post I will talk about one lines and the more tricky wrapping of text.

Before I begin it is important to understand that the parent of a positioned child must also be positioned. In easy-to-understand terms that means the immediate outer div must have a position set for the inner positioned div to correctly work.

For one line of text I would make sure the parent element had a position of relative and then use the following code:

Share this post with others:
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • De.lirio.us
  • Live
  • StumbleUpon
  • LinkedIn
  • Print
  • Slashdot
  • Technorati
  • TwitThis