Does anyone know how I can prevent the text in a table cell from wrapping? This is for the header of a table, and the heading is a lot longer than the data under it, but I need it to display on only one line. It is okay if the column is very wide.
The HTML of my (simplified) table looks like this:
<table>
<thead>
<tr>
<th>
<div>Really long column heading</div>
</th>
<th>
<div>Really long column heading</div>
</th>
<th>
<div>Really long column heading</div>
</th>
<th>
<div>Really long column heading</div>
</th>
<th>
<div>Really long column heading</div>
</th>
<th>
<div>Really long column heading</div>
</th>
<th>
<div>Really long column heading</div>
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<div>data</div>
</td>
<td>
<div>data</div>
</td>
<td>
<div>data</div>
</td>
<td>
<div>data</div>
</td>
<td>
<div>data</div>
</td>
<td>
<div>data</div>
</td>
<td>
<div>data</div>
</td>
</tr>
</tbody>
</table>
The heading itself is wrapped in a div inside the th
tag for reasons pertaining to the javascript on the page.
The table is coming out with the headings wrapping onto multiple lines. This seems to only happen when the table is sufficiently wide, as the browser is trying to avoid horizontal scrolling. In my case, though, I want horizontal scrolling.
Any ideas?
In case you're here wondering how this works for Material UI when building in React, here's how you add this to your <TableHead>
Component:
<TableHead style={{ whiteSpace: 'nowrap'}}>
In case you're here wondering how this works for Material UI when building in React, here's how you add this to your <TableHead>
Component:
<TableHead style={{ whiteSpace: 'nowrap'}}>
I came to this question needing to prevent text wrapping at the hyphen.
This is how I did it:
<td><nobr>Table Text</nobr></td>
Reference:
There are at least two ways to do it:
Use nowrap attribute inside the "td" tag:
<th nowrap="nowrap">Really long column heading</th>
Use non-breakable spaces between your words:
<th>Really long column heading</th>
<th nowrap="nowrap">
or
<th style="white-space:nowrap;">
or
<th class="nowrap">
<style type="text/css">
.nowrap { white-space: nowrap; }
</style>
<th nowrap="nowrap">
or
<th style="white-space:nowrap;">
or
<th class="nowrap">
<style type="text/css">
.nowrap { white-space: nowrap; }
</style>
I came to this question needing to prevent text wrapping at the hyphen.
This is how I did it:
<td><nobr>Table Text</nobr></td>
Reference:
<th nowrap="nowrap">
or
<th style="white-space:nowrap;">
or
<th class="nowrap">
<style type="text/css">
.nowrap { white-space: nowrap; }
</style>
There are at least two ways to do it:
Use nowrap attribute inside the "td" tag:
<th nowrap="nowrap">Really long column heading</th>
Use non-breakable spaces between your words:
<th>Really long column heading</th>
<th nowrap="nowrap">
or
<th style="white-space:nowrap;">
or
<th class="nowrap">
<style type="text/css">
.nowrap { white-space: nowrap; }
</style>
Source: Stackoverflow.com