2012-09-28 36 views

Respuesta

17

De esta manera:

<table> 
    <tr> 
     <td style="width:200px;"> 
     200px width - content 
     </td> 
     <td width="30%"> 
     dynamic width - content 
     </td> 
     <td width="70%"> 
     dynamic width - content 
     </td> 
     <td style="width:100px;"> 
     100px width - content 
     </td> 
    </tr> 
    </table> 

table { 
    width:100%; 
    border-collapse:collapse; 
    table-layout:fixed; 
} 

td { 
    border: 1px solid #333; 
} 

http://jsfiddle.net/7dSpr/

+0

elegantes, gracias :) – ihtus

+0

pero ¿por qué si no se usa "table-layout: fijo;" => todo se rompe? – ihtus

+0

Se debe a que 'table-layout' está configurado por defecto en' auto', lo que significa que será tan ancho como el contenido irrompible más ancho de las celdas. 'fixed' tendrá en cuenta su configuración de ancho en el CSS. Tenga en cuenta que no todo se rompe, el ancho porcentual en las dos columnas del medio continuará siendo del 30% y del 70%. –

2

El enfoque general es el mismo que utiliza el Monkieboy, pero se deben evitar los estilos en línea. (con eso me refiero a escribir style="someting") en su archivo html. Deberías usar clases y CSS en su lugar.

Primero administre al td una clase como esta <td class="thin-column">text here</td>, a continuación en el uso de CSS que para aplicar estilos: .thin-column:{ width: 30% }

+1

+1 - eso es correcto, simplemente no quería escribir demasiado para ilustrar un punto. –