I’m new to the forum. Have been busy for hours and hours to solve a lay-out problem for a website I’m working on. The site is already in it’s testing phase, but it turns out that there is a very nasty bug in IE7.
It’s a 3 column layout with a header and a footer. In IE 7, the right column is being placed over the left column. In firefox, IE8, safari, opera and chrome it goes well. Also, the tab menu goes next to the logo, and I can’t figure out why that is.
Maybe it has something to do with the ‘hasLayout’ thing in IE. So i tried to give the columns heights of 1%. Or am I supposed to get rid of the hasLayout? It’s a bit confusing to me.
What exactly goes wrong, I don’t know, so I would be really really greatful if somebody could help me out.
I’ve put a test version online at: test<dot>conscious<dot>nl (I can’t post links yet)
This will allow you to get rid of the 100% widths and -100% margins, which are probably the culprits. If you can’t edit the markup, those rules will still need to be dealt with since they’re a bit contradictory to “floating” boxes aside each other by asking them to occupy the same space.
The floated right header_menu would drop below the inline logo link-mage due to old IE’s float model (here the correct would be to float it adjacent to the image top edge).
So I suggest the logo image to be floated left to avoid the drop in IE7.
The tab_menu is AP at the bottom of header. IE7 needs also a horizontal coordinate set, e.g. left:0, otherwise the horizontal auto position is coming after the static inline logo image.
But I suggest removing the AP and instead let it float left (it already has a float rule, but the AP overrides the float).
The right column:
Old IEs have difficulties with left negative margins on right floated boxes. -100% pulls the right column all left.
To help IE7 I suggest setting the negative value the same as the box width.
Above changes should not brake anything in good browsers.
Thanks a lot for helping me out! Unfortunally I`m not in the position to try it right now (fingers are itching though), but I will get back to you as soon as possible.