<table border="1">
Ergebnis ist ein Rahmen um die Tabelle und jeweils um die Zellen.
Wenn ich angebe
<table style="border-style:solid;border-width:1;">
dann erhalte ich nur einen Rahmen um die Tabelle.
Weil Du nur das <table>-Element formatierst. Die Angabe bei border-width ist in dieser Form übrigens verkehrt, soll das ein Pixel, ein Zentimeter oder eine Kartoffel sein?
Was muss ich angeben, damit ich das gleiche Ergebnis erhalte wie in reinem HTML?
Jedes <td>-Element formatieren. Bevor Du jetzt einwendest, dass das ja ein fürchterlicher Aufwand wäre, jedem <td> ein style-Attribut zu verpassen: Richtig, deshalb verwendet man auch eigene CSS-Bereiche und style nur in seltenen Ausnahmefällen.