Womit wir bei dem Problem wären, dass ein CSS border:1px solid #farbe (ich habe das jetzt mal in dem Sammel Attribut zusammengefasst) nicht das gleiche ist wie ein HTML border=1.
Während du bei HTML um jede Zelle einen Rahmen hast, sorgt das CSS Border lediglich dafür, dass das gesamte Element, in diesem Falle die Tabelle, weil in <table> positioniert, mit einer 1px dicken Linie umgeben wird.
Die HTML border=1 Linie ist aber weder nur 1px dick, noch nur aussen um die Tabelle herum.
Somit möchte ich behaupten, dass eine adequate 1 zu 1 Darstellung der HTML Border mit CSS nicht zu realisieren ist.
//edit: ich stelle gerade fest, dass mein Vorredner doch schon die Idee mit dem border für table und td aufgegriffen hatte, da bei ihm jedoch der Aspekt des paddings im table-tag fehlt, der für den Abstand zwischen äusserer und innere border sorgt, lasse ich die folgende Ausführung als Ergänzung trotzdem mal online
Wenn du allerdings an einer nicht-adequaten, schweinemäßig aufwendingen Lösung interessiert bist, dann spiele mal mit folgendem Gedanken.
Code:
<table style="width:200px; height:100px; padding:3px; border:1px solid #000000;">
<tr>
<td style="border:1px solid #000000;"> </td>
</tr>
<tr>
<td style="border:1px solid #000000;"> </td>
</tr>
</table>
Jetzt musst du nur noch für den tollen "3D Effekt" der oberen und linken Border eine andere Farbe geben als der rechten und unteren. Das lässt sich dann über Klassen machen und tja ... dann hätten wir das Problem gelöst, aber wenn ich scharf auf HTML-Border-lookalike Rahmen bin, dann mache ich halt einfach border="1" in den Table Tag und frimmel mir da nicht 'nen Wolf in CSS.