td {
    position: relative;
    background: #D3D3D3;
    border: 1px solid #000;
}

В Firefox‘е совокупность таких стилей приводит к тому, что цвет заливки перекрывает границу и последняя пропадает. Решается такая проблема указанием дополнительного свойства:

td {
    background-clip: padding-box
}