It appears that I have just discovered yet another IE6 hang bug- though I'm probably not the first person to discover it...
I'm not sure of the exact set of circumstances that cause it to happen yet, as I've not been able to reproduce it in a simplified form unfortunatly, but at least part of what is required is as follows:
- An element - div in this case - with a margin-left of some non-zero value
- Immediatly inside this element at least 4 input elements of type hidden, all together
- Immediatly after these 4 input elements, an element that is defined to be float: left
Whether or not a doctype is present does not appear to affect the outcome, so it is not a simple reproduction of the bug mentioned at
this blog post.
However, the following do stop the bug from manifesting:
- Making it so that there are less than 4 input elements all together before the float
- Making at least one of the input elements to not be of type hidden
- Putting another element between the 4 inputs and the float
- Making the element not float any more
- Changing the margin-left to padding-left instead.
- Wrapping the 4 input elements in a container element themselves - This is the one I used to solve the problem, the 4 input elements now exist inside a div that is set to display: none, and everything is happy.