Quiero que las etiquetas dentro de la tabla se arreglen al imprimir. El código que escribí funciona bien en View, pero cuando imprimo en JavaScript, si una de las columnas es grande, el resto de las columnas van en el medio, pero quiero que todos permanezcan en la parte superior. Usé position: fixed pero la tabla colapsó.
<script> function printDiv() { var divToPrint = document.getElementById('table'); var htmlToPrint = '' + '<style type="text/css">' + 'table th, table td,table tr {' + 'font-family:B Nazanin;'+ 'border:0.1em solid #000;' + 'text-align:center;' + 'font-size:14px;' + 'padding:0.2em;' + '}' + '</style>'; htmlToPrint += divToPrint.outerHTML; newWin = window.open(""); newWin.document.write(htmlToPrint); newWin.print(); newWin.close(); } </script>Necesitas usar vertical-align: top; para hacer el contenido en cada celda. mostrar en la parte superior.
<style> .table-bd{ border-collapse: collapse; border: none; width: 200px; } .table-bd td{ border: 1px solid #CCCCCC; word-wrap: break-word; word-break:break-all; width: 50px; height: 80px; vertical-align: top; } </style> <table class="table-bd"> <tr> <td>asdfasdfasdf</td> <td>asdfasdfasdfasdfasdf</td> </tr> <tr> <td>asdfasdfasdf</td> <td>qwerqwerqwerqwerqwer</td> </tr> <tr> <td>erwtewyrettyrety</td> <td>tyuirtyiuiytugfhdfgh</td> </tr> </table>