In het kader van creatief denken: Zet je schuifbalk boven in plaats van onder.
Laatst kwam ik zo'n situatie tegen: Een klant had een brede en hoge tabel, waarbij de belangrijkste gegevens altijd boven in de kolommen staan. Zeg maar een soort prioriteitenlijst met voor iedere week een aparte kolom. Dan wil je niet eerst iedere keer naar beneden moeten scrollen, om daar met de horizontale schuifbalk naar rechts te scrollen en daarna weer naar boven te moeten scrollen om de hoogste prioriteiten te kunnen zien voor die week.
Uiteraard kun je de viewport van de hoogte van je tabel aanpassen, zodat die niet hoger wordt dan de hoogte van je scherm. Maar wat is er mis mee om dan eens de schuifbalk boven aan je scherm te plaatsen in plaats van onderaan.
Hiervoor hebben we wat kleine simpele CSS-aanpassingen nodig.
Eerst een klein voorbeeld van de uitgangssituatie (met de schuifbalk onder):
Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 |
---|---|---|---|---|---|
Taak abc | Taak bcd | Taak cde | Taak def | Taak efg | |
Taak abcd | Taak bcde | Taak cdef | Taak defg | Taak efgh | Taak fghi |
HTML
<div id="wrapper">



</div>
CSS
#wrapper {


}
td {

}
Het eerste trucje dat we uithalen zal direct al de schuifbalk bovenaan plaatsen, maar heeft toch een ongewenste bijwerking:
Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 |
---|---|---|---|---|---|
Taak abc | Taak bcd | Taak cde | Taak def | Taak efg | |
Taak abcd | Taak bcde | Taak cdef | Taak defg | Taak efgh | Taak fghi |
<div id="wrapper">



</div>
CSS
#wrapper {



}
td {

}
Zoals je ziet heb ik hier alleen maar transform: rotateX(180deg) toegevoegd aan de wrapper. Daarmee staat weliswaar de scrollbar al boven, maar staat alles nu op zijn kop.
Met de volgende stap gaan we dat eenvoudig herstellen:
Week 1 | Week 2 | Week 3 | Week 4 | Week 5 | Week 6 |
---|---|---|---|---|---|
Taak abc | Taak bcd | Taak cde | Taak def | Taak efg | |
Taak abcd | Taak bcde | Taak cdef | Taak defg | Taak efgh | Taak fghi |
Dit doen we simpelweg door binnen de buitenste wrapper een 2e wrapper toe te voegen die de inhoud nog een keer omdraait:
HTML<div id="wrapper">






</div>
CSS
#wrapper {



}
#innerwrapper {

}
td {

}