table { width: 100%; table-layout: fixed; border-collapse: collapse; padding-right: 10px; } th, td { padding: 4px 4px; vertical-align: middle; overflow: hidden; border: 1px solid #ccc; } th { background-color: #f8f8f8; } th:nth-child(1), td:nth-child(1) { width: 120px; } /* Booking Date */ th:nth-child(2), td:nth-child(2) { width: 120px; } /* Valuta Date */ th:nth-child(3), td:nth-child(3) { } /* Zusatzinfo */ th:nth-child(4), td:nth-child(4) { width: 240px; } /* Text */ th:nth-child(5), td:nth-child(5) { width: 300px; } /* Account */ th:nth-child(6), td:nth-child(6) { width: 100px; text-align: right; } /* Amount */ th:nth-child(7), td:nth-child(7) { width: 40px; text-align: center; } /* Split */ th:nth-child(8), td:nth-child(8) { width: 40px; text-align: center; } /* Save */ .text-column input { width: 100%; height: 30px; box-sizing: border-box; /* Ensures padding/border doesn't overflow */ } .zusatzinfo-column div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; width: 100%; }