Tach,
Also, nach meinem Verständnis ist das so:
Die Angabe "100%" bezieht sich immer auf die größe des umschliessenden Elementes (sofern dies eine Größe besitzt).
Wenn das umliegende Element keine größe besitzt, gehts eine Ebene höher, bis eine Größenangabe gefunden wird. Wenn man bei <body> angekommen ist, und das immer noch keine Größe hat, geht man von der Seitenbreite aus.
Beispiel:
<html>
<table style="width: 100%">
...
Hier ist die Tabelle genauso breit wie die ganze Seite (body).
Beispiel2:
<table style="width: 200px">
<tr><td><table style="width: 100%">
...
Hier bezieht sich 100% auf die Grösse der umliegenden Tabelle,
also ist die innere Tabelle 200 px gross.
Beispiel3:
<body>
<table>
<tr><td><table>
<tr> <td><table style="width: 100%">
Hier gibts keine Größenangabe, nach der sich die "100%" richten könnten, also bzeihen sich 100% auf die Seitenbreite.