I noticed this problem back in 2015 - it only affects google chrome, and the only way to fix it is to move your screen: table to a child container, so if you have:
<div style="width:50%; height:300px; display:table"> <div style="display:table-cell; vertical-align: middle;"> <p>Your centred content here</p> </div> </div>
Change it to the following adding another div:
<div style="width:50%;"> <div style="display:table; height:300px;"> <div style="display:table-cell; vertical-align: middle;"> <p>Your centred content here</p> </div> </div> </div>
There seems to be a conflict in google chrome with width and display: a table when it applies to the same tag.
Open the following link in both chrome and firefox, and you will see that the right borders are aligned in firefox, but not in chrome, because it adds 1px extra space.
In short, my fix works in chrome :)
https://jsfiddle.net/2u1t8ffj/

Mike
source share