Välj en sida

Ok, Chrome på Mac, version 12.0.742.91. Vi har en old-school delvis tabellbaserad layout. I en tabellcell, alignad till höger med align=”right” finns diverse HTML, bl. a ett div element. I div:en floatas 3 element åt vänster så de hamnar på en rad. De tre elementen är en tabell, och 2 div:ar. T. ex:

<td align="right">
Lorem lipsum etc [...] <br>
<div>
<table style="float:left">
[...]
</table>
<div style="float:left"> [...] </div>
<div style="float:left"> [...] </div>
</div>
</td>

Resultat för de flesta:

Utom för Chrome användare där den floatade tabellen fyller ut hela överliggande div och orsakar de två floatade div:arna att hamna på en ny rad:

Kliade huvudet alldeles för länge, innan jag förstod att en tabell nästlad  i en tabellcell lyder till cellens align slaviskt. Dvs den alignas åt höger i sin div i stället för att flyta åt vänster som vi vill att den ska göra. Lösningen är enkel, sätt

text-align: left;

på den överliggande div:en. En fungerande kod blir alltså:

<td align="right">
Lorem lipsum etc [...] <br>
<div style="text-align:left;">
<table style="float:left">
[...]
</table>
<div style="float:left"> [...] </div>
<div style="float:left"> [...] </div>
</div>
</td>

Givetvis bör man ju skriva om HTML:en så att man inte alignar cellen till höger, men i just det här fallet kunde jag inte det.