CSS
How to Align Text Vertically in a Table Column Using CSS
Vertically aligning text in a table column is a common need when presenting tabular data in a clean, professional layout. Whether you’re building an admin dashboard, invoice layout, or product comparison table, controlling vertical alignment ensures readability and a polished appearance.
In this guide, we’ll cover how to vertically align text in table columns using CSS, with practical examples and best practices.
✅ Default Behavior of Table Cells
By default, HTML table cells align content vertically in the middle in most modern browsers. However, when you want to explicitly control it — especially for top or bottom alignment — CSS makes it simple.
🔧 Basic HTML Table Example
<table>
<tr>
<td>Row 1</td>
<td rowspan="2">
<p>This is vertically long content.</p>
<p>Another paragraph</p>
</td>
</tr>
<tr>
<td>Row 2</td>
</tr>
</table>
🛠 CSS to Vertically Align Text
1. Align to Top
td {
vertical-align: top;
}
This pushes the text to the top of the table cell.
2. Align to Middle (default)
td {
vertical-align: middle;
}
Keeps the text centered vertically, which is the default behavior in many browsers.
3. Align to Bottom
td {
vertical-align: bottom;
}
Pushes the content to the bottom of the cell.
💡 Practical Example with CSS
<style>
table {
border-collapse: collapse;
width: 100%;
}
td {
border: 1px solid #aaa;
padding: 20px;
vertical-align: top; /* Change to middle or bottom as needed */
}
</style>
<table>
<tr>
<td>Short Text</td>
<td>
<p>This text is aligned to the top of the cell.</p>
</td>
</tr>
</table>
📌 Additional Tips
- Use
padding
to create visual breathing room inside cells. - When using images or block-level elements in cells, vertical alignment becomes even more noticeable — test across different content types.
- Combine
vertical-align
withtext-align
for precise control.
🧾 Conclusion
Controlling vertical alignment in table columns improves layout precision and visual clarity — especially when content lengths vary between rows. Use the vertical-align
property on <td>
or <th>
elements to achieve top, middle, or bottom alignment, depending on your design needs.
For modern responsive layouts, consider replacing complex tables with CSS Grid or Flexbox when appropriate — but when tables are necessary, mastering these alignment techniques is key.