Q:

HTML tr for widths but hide

I have a normal HTML table (no fancy stuff): https://jsfiddle.net/Ljo9gkud/
-> The table uses the first <tr> for the column size definitions, like so:
<tr class="Cdef">
    <td width="40%">&nbsp;</td>
    <td width="10%">&nbsp;</td>
    <td width="10%">&nbsp;</td>
    <td width="10%">&nbsp;</td>
    <td width="10%">&nbsp;</td>
    <td width="20%">&nbsp;</td>
</tr>

Goal: I want to hide this first <tr> because it creates an unnecessary gap. "CSS display: none;" does not work because then the column size definitions are ignored:

With display: none -> https://jsfiddle.net/Ljo9gkud/1 (ignored widths)
Problem: 
Even when setting height: 0 etc. on both <tr> and <td>I cannot get rid of the space (gap) it creates. Any help? How do I not show the first <tr>but keep column size definition from it?

A:

Remove your spaces from your first tr:
<tr class="Cdef">
    <td width="40%"></td>
    <td width="10%"></td>
    <td width="10%"></td>
    <td width="10%"></td>
    <td width="10%"></td>
    <td width="20%"></td>
</tr>

Add this to your css (instead of display none):
.Cdef td {
    padding: 0;
}

https://jsfiddle.net/Ljo9gkud/9/

