|
Posted by Ben C on April 14, 2008, 3:19 am
Please log in for more thread options > rf wrote:
>>
>>> Test wrote:
>>>> Is it possibel to have DIV's inside a table cell so that their
>>>> position can be given relative to top left corner of the cell.
>>> Yes.
>>>
>>>> Now the DIVs seem to position
>>>> themselves relative to previous object.
>>> Without seeing your page it isn't possible for anyone to know what you
>>> should expect to see or what you need to do to change it.
>>>
>>> If the position of the cell is specified "relative" then a DIV inside
>>> it with position: absolute should be positioned relative to the cell's
>>> origin, and IE 7 does this, but on the other hand if the cell is
>>> styled with a border, the border disappears. Firefox, in contrast,
>>> positions the DIV relative to the viewport origin (assuming there are
>>> no containing blocks between the viewport and the cell; I didn't test
>>> any other case).
>>>
>>> If you nest the DIV inside another, relative positioned DIV, inside
>>> the cell, which now doesn't have to be relative positioned, then the
>>> positioning works in Firefox.
>>>
>>> So I think Firefox has a bug in this respect.
>>
>> http://www.w3.org/TR/CSS21/visuren.html#propdef-position
>>
>> "The effect of 'position: relative on ... table-cell ... is undefined."
>> All browsers are behaving correctly. If the effect is undefined they are
>> free to do whatever they want.
>
> Ah, OK, thanks. I was concentrating on the section on absolute
> positioning and didn't bother to read the section on relative positioning.
rf is right and I almost mentioned that, but I really do think this is a
bit of a loophole. If it was intentional they would have said something
about it in the section on containing block.
All they mean IMO is that it's undefined when you start setting top,
left etc. on relatively positioned table cells.
After all everything else can be a containing block for positioned
descendents, even inline boxes (and that's much madder than
table-cells).
|