Dado lo siguiente, ¿cómo puedo hacer que mi última columna se ajuste automáticamente a su contenido? (La última columna debe tener un tamaño automático de ancho para el contenido. Supongamos que solo tengo 1 elemento li, debería encogerse en lugar de tener 3 elementos li, etc.):
<table cellspacing="0" cellpadding="0" border="0">
<thead><!-- universal table heading -->
<tr>
<td class="tc first"><input type="checkbox" value="true" name="data-1-check-all" id="data-1-check-all"></td>
<td class="tc">Type</td>
<th>File</th>
<th>Sample</th>
<th>Action</th>
</tr>
</thead>
<tbody>
<tr>
<td>Division 1</td>
<td>Division 2</td>
<td>Division 3</td>
<td>Division 4</td>
<td>Division 5</td>
</tr>
<tr>
<td>Division 1</td>
<td>Division 2</td>
<td>Division 3</td>
<td>Division 4</td>
<td class="last">
<ul class="actions">
<li><a class="iconStats" href="#">Statystyki</a></li>
<li><a class="iconEdit" href="#">Edytuj</a></li>
<li><a class="iconDelete" href="#">Usuń</a></li>
</ul>
</td>
</tr>
</tbody>
</table>
CSS:
table { table-layout: fixed; width: 100%; }
table tr { border-bottom:1px solid #e9e9e9; }
table thead td, th {border-left: 1px solid #f2f2f2; border-right: 1px solid #d5d5d5; background: #ddd url("../images/sprites4.png") repeat-x scroll 0 100% ; font-weight: bold; text-align:left;}
table tr td, th { border:1px solid #D5D5D5; padding:15px;}
table tr:hover { background:#fcfcfc;}
table tr ul.actions {margin: 0;}
table tr ul.actions li {display: inline; margin-right: 5px;}
table-layout: fixed
eso se establece en el css en la pregunta jsfiddle.net/hCkch/1.fitwidth
y luego simplemente establecería la clase en las columnas que no desea que vayan a varias líneas. Editaré tu respuesta para agregar eso.Si desea asegurarse de que la última fila no se ajuste y, por lo tanto, el tamaño que desee, eche un vistazo a
fuente
Puede especificar el ancho de todas las celdas de la tabla excepto las últimas y agregar un diseño de tabla: fijo y un ancho a la tabla.Usted podría establecer
(o establezca esto para el último TD como sugirió Sander).
Esto obliga a que los LI en línea no se rompan. Desafortunadamente, esto no conduce a un nuevo cálculo de ancho en el UL contenedor (y este TD principal) y, por lo tanto, no ajusta automáticamente el último TD.
Esto significa: si un elemento en línea no tiene un ancho determinado, el ancho de un TD siempre se calcula automáticamente primero (si no se especifica). Luego, su contenido en línea con este ancho calculado se procesa y
white-space
se aplica la propiedad -propiedad, extendiendo su contenido más allá de los límites calculados.Entonces supongo que no es posible sin tener un elemento dentro del último TD con un ancho específico.
fuente
use auto y ancho mínimo o máximo como este:
fuente