lywyre
Cyborg Agent
I have created one HTML table with fixed header and scrollable body. But when I resize the browser window or zoom in or zoom out the browser the table alignment changes. I want to view the complete table aligned with data even if browser window is resized or zoomed in or zoomed out.
And I need it to work in IE 11 and IE 8
I have tried many solutions from google, but I couldn't make it work.
Kindly help, I need the solution for this issue badly.
Here is the code:
Code:<html> <head> <style> div td{ text-align: center; } </style> <script language="Javascript"> window.onload = init; window.onresize = init; function init() { var eTable = document.getElementById("headers"); if (eTable != null){ eTable.style.width = document.getElementById('data').offsetWidth; document.getElementById('th1').style.width = document.getElementById('td1').offsetWidth; document.getElementById('th2').style.width = document.getElementById('td2').offsetWidth; document.getElementById('th3').style.width = document.getElementById('td3').offsetWidth; document.getElementById('th4').style.width = document.getElementById('td4').offsetWidth; document.getElementById('th5').style.width = document.getElementById('td5').offsetWidth; document.getElementById('th7').style.width = document.getElementById('td7').offsetWidth; document.getElementById('th8').style.width = document.getElementById('td8').offsetWidth; document.getElementById('th6').style.width = document.getElementById('td6').offsetWidth; document.getElementById('th9').style.width = document.getElementById('td9').offsetWidth; } } </script> </head> <body> <table id="headers" width="100%" > <thead><tr bgcolor="blue"> <th align="center" id="th1"> DPCI<br> </th> <th align="center" id="th2"> Description<br> </th> <th align="center" id="th3"> Estimated Delivery Date<br> </th> <th align="center" id="th4"> Promotional Week Begin Date or Event Set Date<br> </th> <th align="center" id="th5"> Promotional Type<br> </th> <th align="center" id="th6"> Regular Price<br> </th> <th align="center" id="th7"> Reduced Price<br> </th> <th align="center" id="th8"> Sales Forecast Qty (Cases)<br> </th> <th align="center" id="th9"> HQ Push Qty (Cases)<br> </th> </tr></thead> </table> <div style="height: 275px; overflow-y: auto;"> <table id="data" width="100%"> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> <tr bgcolor="#EEEEEE"> <td id="td1" width="9%">column 1 </td> <td id="td2" width="28%"> COlumn 2 </td> <td id="td3" width="9%"> Column 3 </td> <td id="td4" width="9%"> Column 4 </td> <td id="td5" width="13%"> Column 5 </td> <td id="td6" width="8%"> Column 6 </td> <td id="td7" width="8%"> Column 7 </td> <td id="td8" width="8%"> Column 8 </td> <td id="td9" width="8%"> Column 9 </td> </tr> </table> </div> </body> </html>
//Mod Edit - Wrapped the code within CODE tags
I remember I did not get a proper solution for this (about 2 years ago). The closes I got was similar to what you have achieved, with out the ability for the table to adjust width dynamically. Did a quick search with no luck. Do let know when you find a solution.