Jag har två divar, båda "float:left" för att få två kolumner. Den vänstra med fast bredd och den högra ska fylla ut resterande utrymme, och det fungerar bra tills jag placerar en tabell med 100 % bredd i den högra diven. Då blir det knas i Firefox och diven och tabellen lägger sig under den vänstra diven. I IE6 ser det ut precis som det ska.
Jag vet inte vilken browser som visar fel, men någon kanske kan upplysa mig om vad jag gör för fel?
Inget av alternativen fungerar sorgligt nog. Att absolut positionera högerkolumnen funkar inte eftersom dess bredd måste fylla ut hela den del av fönstret som inte tas upp av vänsterkolumnen. Alternativ 2 fungerar inte av okänd anledning.
Det funkar visserligen på exemplet, men exemplet motsvarar inte längre koden som strular. Jag har försökt destillera ner ett nytt exempel som visar problemet.
I diven "colOne" är menyn tänkt att ligga, till vänster på sidan. Till höger om denna ska innehållet ligga i diven "colTwo". I "colTwo" använder jag ett css-hack (".clearFix") som jag hittade på en sajt någonstans, som löser "float-problemet". Det är nog mer tydligt om man tittar på exemplet (i Firefox) och på koden, än att jag försöker förklara. Jämför då med IE så ser man tydligt felet.
Problemet är hursomhelst att vänsterkolumnen trycker ner allt innehåll som ligger efter float-hacket, i Firefox, och jag ingen aning om varför.
The W3C float specification requires that a cleared element shall stay below all previous floats. There are no exceptions to this requirement! "Previous" in this case means any float that comes earlier in the source document.
[...]
If the clearer is within a floated container, it will clear only the floats that preceed it within that floated container. The clearing element will not reach outside of its floated container to clear external floats. Also, the clearer has no effect on its floated parent container, other than to make it enclose any nested inner floats.