Making a <td> as small a width as possible

  • Thread starter Nathan Sokalski
  • Start date
N

Nathan Sokalski

I have a <td> that contains several elements, some of which are
left-aligned, right-aligned, or centered. I do not know the widths of these
elements beforehand, so I cannot give my <td> a fixed width. I want the <td>
to have as small a width as possible without causing anything to wrap, but
IE seems to want to make it bigger. Does anybody know of a good way to
prevent a <td> from being stretched to a larger width than necessary?
Thanks.
 
M

Mark Rae [MVP]

[cross-posting removed]
I have a <td> that contains several elements, some of which are
left-aligned, right-aligned, or centered. I do not know the widths of these
elements beforehand, so I cannot give my <td> a fixed width. I want the
<td> to have as small a width as possible without causing anything to wrap,
but IE seems to want to make it bigger. Does anybody know of a good way to
prevent a <td> from being stretched to a larger width than necessary?

A <td> will expand to fit its contents. However, if other rows have more
data in the corresponding cell, then obviously the entire column will expand
to fit the contents of the largest cell.

Check in View Source for what markup is actually being included in the cell
in question...
 
N

Nathan Sokalski

Here is an example of a <td> using more space than necessary:

<table>
<tr>
<td>
<span style="float:left;">Float Left</span>
<span style="float:right;">Float Right</span><br/>
<div
style="width:500px;height:500px;background-color:Orange;">&nbsp;</div>
</td>
</tr>
</table>

You will notice that neither the table or td has a set width, but the float
right hangs over the edge of the div. The table could easily be no more than
the width of the div (in this case 500px) and still fit both span tags in.
Do the floats have anything to do with the problem? I use floats because I
want the spans on the left and right of the same line, and in my code the
width of the div is dynamic (my code also involves more cells than this).
--
Nathan Sokalski
(e-mail address removed)
http://www.nathansokalski.com/

Mark Rae said:
[cross-posting removed]
I have a <td> that contains several elements, some of which are
left-aligned, right-aligned, or centered. I do not know the widths of
these elements beforehand, so I cannot give my <td> a fixed width. I want
the <td> to have as small a width as possible without causing anything to
wrap, but IE seems to want to make it bigger. Does anybody know of a good
way to prevent a <td> from being stretched to a larger width than
necessary?

A <td> will expand to fit its contents. However, if other rows have more
data in the corresponding cell, then obviously the entire column will
expand to fit the contents of the largest cell.

Check in View Source for what markup is actually being included in the
cell in question...
 
G

Guest

Here is an example of a <td> using more space than necessary:

<table>
<tr>
<td>
<span style="float:left;">Float Left</span>
<span style="float:right;">Float Right</span><br/>
<div
style="width:500px;height:500px;background-color:Orange;"> </div>
</td>
</tr>
</table>

Hi Nathan

you have to set clear:both to make the div element go below

<div style="CLEAR:BOTH;width:500px;height:500px;background-
color:Orange;">

Hope it helps
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
474,432
Messages
2,571,682
Members
48,796
Latest member
Greg L.

Latest Threads

Top