Reputation: 3115
How can I restrict the table <td>
entry to expanding over the entire screen when
the entry is too long?
Upvotes: 32
Views: 97382
Reputation: 2478
There is also nice solution with property max-width: 0px; so it will be responsible to full width of table.
Upvotes: 3
Reputation: 1425
You need to specify BOTH the max-width
and display
styles (because the display attribute is set funny because it's a td, not a normal element) e.g.
td{
max-width: 100px;
display: inline-block;
}
Upvotes: 3
Reputation: 4536
Well, there's max-width
, max-height
, and overflow
in CSS.
So
td.whatever
{
max-width: 150px;
max-height: 150px;
overflow: hidden;
}
would restrict the maximum width and height to 150px, and it can be anything from less than 150 up to 150, and anything that doesn't fit inside that will be clipped off and hidden from view.
Overflow's default (overflow: visible;
) is to simply allow anything that won't fit inside its specified container to just spill over outside of it. If you only want to limit it horizontally and don't want to hide anything, word-wrap
may help:
td.whatever
{
max-width: 150px;
word-wrap: break-word;
}
word-wrap
will break words whenever it needs to, even if it's not at the end of a word. You can also just use height
and width
to specify a fixed size if you don't want the table to expand or shrink at all.
Upvotes: 58
Reputation: 1546
td.whatever_class{
max-width: 100px;
}
replace 100px with however wide you want. 1000px is a good width for websites as it will fit on nearly all monitors people have today, so if you had 20 columns then make it 50px for example.
Upvotes: 7
Reputation: 33904
You could use word-wrap:break-word;
, so overlong words get wrapped.
Upvotes: 17