Der Martin: Tabellen-Kopfzeile fixieren und kopieren

Beitrag lesen

Hallo,

ich beiße mir gerade die Zähne daran aus, eine fixierte Kopie einer Tabellen-Zeile pixelgerecht oben auf der Seite zu fixieren, damit die Überschrift beim Scrollen stehen bleibt.

damit haben sich schon andere abgemüht ...

<table class=liste style="position:fixed; left:0; top:0"><!-- TEST -->
  <thead>
    <tr id="tr_kopie"></tr>
  </thead>
</table>

Bildbeschreibung

Die left:0 klebt direkt am Bildschirm-Rand, obwohl

body {
  position: relative;
  padding: 0;
  margin: 5px;
  background: #cfc;
}

Natürlich. Sobald position:fixed gesetzt ist, beziehen sich die Koordinaten nicht mehr auf irgendwelche Vorfahrenelemente, sondern direkt auf das Browserfenster. Ein margin und/oder padding für body ist da wirkungslos. Die Angabe position:relative für body auch.

Zur Kontrolle habe ich background eingefügt. Und siehe da: body hat nicht den erwarteten Rand von 5px.

Öhm ...

Nach fast 20 Jahren HTML muss ich nun fragen: Was ist eigentlich body?

Das Containerelement, das den gesamten darzustellenden Inhalt der Webseite umfasst. (Ja, man kann auch head oder eines seiner Kindelemente darstellen, aber das ist ziemlich ungewöhnlich.)

So long,
 Martin

--
Nothing travels faster than the speed of light with the possible exception of bad news, which obeys its own special laws.
- Douglas Adams, The Hitchhiker's Guide To The Galaxy