Wie: Feste Tabellen-Kopfzeile mit EINER Tabelle (ohne jQuery)
Ich weiß, gibt es mindestens 3 Dutzend Fragen wie diese auf stackoverflow und trotzdem konnte ich nicht machen dies passieren:
Einer einfachen Tabelle, wo thead ist geklebt/befestigt an der Spitze, und der tbody gescrollt wird.
Ich versuchte, so viel in den letzten Tagen und nun bin ich hier gelandet, um Hilfe schreit.
Soll die Lösung funktioniert in IE8+ und die neueste FF, Chrome & Safari.
Der Unterschied zu anderen "mögliche Duplikate wie diese eine ist, dass ich nicht möchten, verwenden Sie zwei geschachtelte Tabellen oder jQuery (plain javascript ist gut, obwohl).
Demo von dem, was ich will:
http://www.imaputz.com/cssStuff/bigFourVersion.html.
Problem ist, es funktioniert nicht im IE, und ich wäre in Ordnung, um zu verwenden einige JS.
- Nicht, dass seine relevanten technischen Diskussion hier, aber AFAICT dieser imaputz.com/cssStuff/bigFourVersion.html funktioniert auf IE10 OK (vielleicht in früheren Versionen von Kratern).
- Sind Sie sicher, dass dieser funktioniert nicht in IE für Sie? Welche IE? Die verlinkte Seite sagt, es sollte funktionieren im IE6+.
- es funktioniert nicht in IE8 (getestet mit IE10 im IE8-Modus).
- es ist nicht - wie ich schon erwähnte, ich nicht wollen, verwenden Sie zwei geschachtelte Tabellen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ok ich habe es:
Müssen Sie wickeln Sie die Tabelle in zwei DIVs:
CSS für die DIVs ist diese:
Der Grund dafür ist, dass Sie im Grunde machen die inneren DIV Scrollbar, und ziehen Sie den THEAD aus es durch kleben Sie es auf den äußeren DIV.
Nun kleben die
thead
zu den outerDIV, indem esDen
tbody
mussdisplay: block
als gut.Nun werden Sie feststellen, dass das scrollen funktioniert, aber die breiten sind völlig messep bis. Da ist Javascript in kommt.
Sie können wählen, auf Ihre eigenen, wie die, die Sie zuweisen möchten. Ich für mich selbst gab die TH ' s in der Tabelle eine Feste Breite und baute ein einfaches Skript, das die Breite und weist Sie der erste TD-Zeile in der
tbody
.Etwas wie dies funktionieren sollte:
Mit jQuery das wäre natürlich viel einfacher, aber jetzt durfte ich nicht verwenden eine Drittanbieter-Bibliothek, die für dieses Projekt.
Vielleicht sollten wir ändern die Methode zum erreichen dieses Ziels.Wie:
Natürlich, das ist nicht gut für sematic.Aber es ist der einfachste Weg, ohne js oder jq.
Glaubst du nicht so?