The problem is position: absolute; internal div:
<html lang="en-US"> <body> <table style="width: 100%;"> <tbody> <tr> <td style="position: relative; width: 50%; height: 500px; vertical-align: top; overflow: hidden;"> <div style="background-color: blue; height: 100%; width: 100%;"></div> </td> <td style="position: relative; width: 50%; height: 500px;"> </td> </tr> </tbody> </table> </body> </html>
You can check this with the update I made for your jsfiddle .
If you really need to use an absolute positioned div inside a cell, then you should put a relative positional div inside that cell that contains an absolute:
<td> <div style="position: relative; ... "> <div style="position: absolute;... "> ... </div> </div> </td>
This is another update to the original jsfiddle showing the absolute div inside the relative, with an offset of 30 to the left and 10 from the top.
This old thread here in stackoverflow might be useful: Using the Relative / Absolute position in TD?
source share