How to limit a table cell to one line of text using CSS?

Tomaka17 picture Tomaka17 · Jul 31, 2010 · Viewed 75.3k times · Source

I have a table of users where each row contains their names, e-mail address, and such. For some users this row is one text line high, for some others two, etc. But I would like that each row of the table be one text line high, truncating the rest.

I saw these two questions:

In fact my question is exactly similar to the first one, but since the link is dead I can't study it. Both answers say to use white-space: nowrap. However this doesn't work, maybe I'm missing something.

Since I can't show you the code, I reproduced the problem:

<style type="text/css">
td {
    white-space: nowrap;
    overflow: hidden;
    width: 125px;
    height: 25px;
}
</style>

<div style="width:500px">
<table>
    <tr>
        <td>lorem ipsum here... blablablablablablablablablabla</td>
        <td>lorem ipsum here... blablablablablablablablablabla</td>
        <td>lorem ipsum here... blablablablablablablablablabla</td>
        <td>lorem ipsum here... blablablablablablablablablabla</td>
    </tr>
</table>
</div>

Without white-space the table is 500px wide, and the text takes more than one line.

But white-space: nowrap makes the browser simply ignore the width directive and increase the width of the table until all data fits in one line.

What am I doing wrong?

Answer

Googuez picture Googuez · Aug 6, 2013

Add the following to your stylesheet:

table { white-space: nowrap; }