The reason this happens is that <thead> is not a replacement for <tr>. <thead>s are supposed to contain <tr>s.
See: http://www.w3schools.com/tags/tag_thead.asp > "Note: The <thead> must have a <tr> tag inside! > > Note: If you use the thead, tfoot and tbody elements, you must use every > element. > They should appear in this order: <thead>, <tfoot> and <tbody>, so that > browsers can render the foot > before receiving all the data. You must use these tags within the table > element."