Here is a fiddle:
https://jsfiddle.net/0rz4chpv/
Here are a couple of pertinent CSS classes:
.cellVerticalHeading {
/*text-align:center;*/
white-space:nowrap;
g-origin:50% 50%;
-webkit-transform: rotate(90deg);
-moz-transform: rotate(90deg);
-ms-transform: rotate(90deg);
-o-transform: rotate(90deg);
transform: rotate(90deg);
}
.cellVerticalHeading p {
margin:0 -100% ;
display:inline-block;
}
The problem I have is when printing to A4 portrait, which you can see in the preview anyway:
What CSS do I need so that when I print on A4 the header row is going to be tall enough for text? There are three affected columns over to the right.
Update
Based on this question I was able to do:
<thead class="rowHeadings">
<tr>
<th><div class="cellVerticalHeading">Name</div></th>
<th><div class="cellVerticalHeading">Gender</div></th>
<th><div class="cellVerticalHeading">Appointed As</div></th>
<th><div class="cellVerticalHeading">Serving As</div></th>
<th><div class="cellVerticalHeading">Attendant</div></th>
<th><div class="cellVerticalHeading">CBS Conductor</div></th>
<th><div class="cellVerticalHeading">CBS Reader</div></th>
<th><div class="cellVerticalHeading">Midweek Chairman</div></th>
<th><div class="cellVerticalHeading">Microphone</div></th>
<th><div class="cellVerticalHeading">Platform</div></th>
<th><div class="cellVerticalHeading">Midweek Prayer</div></th>
<th><div class="cellVerticalHeading">Sound</div></th>
<th><div class="cellVerticalHeading">Student</div></th>
<th><div class="cellVerticalHeading">Assistant</div></th>
<th><div class="cellVerticalHeading">Host</div></th>
<th><div class="cellVerticalHeading">Co-host</div></th>
<th><div class="cellVerticalHeading">Midweek Meeting — Treasures</div></th>
<th><div class="cellVerticalHeading">Midweek Meeting — Gems</div></th>
<th><div class="cellVerticalHeading">Midweek Meeting — Living</div></th>
<th><div class="cellVerticalHeading">Demonstrations</div></th>
</tr>
</thead>
But now the headings are not central to the cells:
Update 2
I tred the answer provided (thank you) and whilst the data now fits, it too suffers from the text not being central to the cells: