Ik heb het inmiddels voor elkaar gekregen om een tabel scrollend te maken, zonder dat ie in een iframe hoeft. Dit heb ik gedaan door de tabel in een div te plaatsen die de stijl "overflow:scroll" heeft, en een hoogte ingesteld heeft (anders valt er niets te scrollen). Ik heb daarvoor de volgende code gebruikt:
Nu zitten hier drie haken en ogen aan:
Maar als dan de tabel "opeens" van breedte verandert, klopt de breedte van de div weer niet... De style "width: auto" doet helaas niet wat ik verwacht (maar klopt technish wel), en de breedte met javascript bijhouden: geen id of dat wel kan.
Wie-o-wie helpt mij verder?
HTML:
1
2
3
4
5
6
| <div id="testdiv" style="height: 100px; overflow: scroll"> <table border="1" id="testtable"> <tr><td>test</td><td>test</td></tr> <!-- nog meer tr's --> </table> </div> |
Nu zitten hier drie haken en ogen aan:
- De div is 100% breedte en past zich niet aan aan de breedte van de tabel. Ik kan geen vast pixelbreedte gebruiken, omdat de tabel variabel van breedte kan zijn.
- Ik zie nog een onnodige horizontale scrollbar. Die verschijnt in alle browsers, dus het is geen browserbug. Het lijkt me dat je die weg moet kunnen krijgen. Maar hoe? Ik zie in de CSS1/2-specs iig niets over het al of niet verbergen van scrollbars...
- Ik kan m'n scrollwieltje niet gebruiken in mozilla en opera...
JavaScript:
1
2
| testdiv.style.width = testdiv.offsetWidth - testdiv.clientWidth + testtable.offsetWidth + "px"; |
Maar als dan de tabel "opeens" van breedte verandert, klopt de breedte van de div weer niet... De style "width: auto" doet helaas niet wat ik verwacht (maar klopt technish wel), en de breedte met javascript bijhouden: geen id of dat wel kan.
Wie-o-wie helpt mij verder?
日本!🎌