I don't know if there is a better fix for it, but the problem lies in colspan and using border-collapse .
I rewrote the code only because it seemed dirty to me, but basically the solution was to use border-spacing: 0; instead of border-collapse: collapse;
This is not ideal because it is not the same thing. Therefore, if all your cells have borders with them, then those inside the table will double the creation of a 2px border.
However, in this situation you will not notice anything, and you could use border-collapse anyway.
Ok, I think I have said enough.
Here is my code (slightly different from yours, but it does the same):
CSS
<style type="text/css"> .tableStyle { position: absolute; left: 0px; border-spacing: 0; } .tableStyle td { height: 19px; width: 72px; } .blackBorder { border: 1px solid #000; } </style>
HTML:
<table class="tableStyle"> <tr> <td rowspan="2" colspan="2" class="blackBorder">1</td> <td>2</td> </tr> <tr> <td>3</td> </tr> <tr> <td>4</td> <td>5</td> <td>6</td> </tr> <tr> <td rowspan="3" colspan="2" class="blackBorder">7</td> <td>8</td> </tr> <tr> <td>9</td> </tr> <tr> <td>10</td> </tr> </table>
source share