Это вызвано тем, что браузеры определяют, где начинать границу и где ее заканчивать.К сожалению, нет решения для этого.Лучше всего выбрать граничные цвета, которые достаточно похожи, чтобы они не выделялись настолько сильно.
Еще один вариант, требующий поддержки современных браузеров / CSS3, - использовать тень блока на элементе.Например:
box-shadow: inset 1px 1px 1px rgba(255,0,0,1),
inset 1px -1px 1px rgba(0,255,0,1);
Вы можете добавить несколько слоев теней от блока шириной всего 1 пиксель и указать направление, в которое они «падают».Может быть весело играть.