css - `absolute` child does not relate to `relative` parent when parent is `table-cell` - only firefox -
situation
html:
<div class="container"> <div class="parent"> <div class="child">x</div> </div> </div> css:
.container { display: table; } .parent { display: table-cell; position: relative; } .child { position: absolute; right: 0; } what expect:
the .child should positioned right edge of .parent. works in chrome.
what in firefox:
the .child positioned right edge of closest "non static" parent has not display: table-cell.
fiddle
question
why display: table-cell influence positioning of child elements, or, why position: relative ignored on table-cell elements? can work around if rely on table-cell?
you need put position: relative; in parent.
so in code in question add position: relative; .container
or in jsfiddle add position: relative; .parent
.parent { height: 150px; width: 450px; display: table; margin-top: 400px; background: #bbb; position:relative; } related : firefox ignores absolute positioning in table cells , positioning context on table-cell element in firefox
about questioning 'why' : it's no more 'block' level element. it's table-cell positioning behave in different way (in case, firefox).
Comments
Post a Comment