2012-09-28 11 views

Odpowiedz

17

Jak to:

<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

eleganckie, dzięki :) – ihtus

+0

ale dlaczego, jeśli nie za pomocą "table-layout: fixed;" => wszystko się psuje? – ihtus

+0

Dzieje się tak dlatego, że domyślnie 'table-layout' ustawiony jest na' auto', co oznacza, że ​​będzie on tak szeroki, jak najszersza niełamliwa treść w komórkach. 'fixed' uwzględni twoje ustawienia szerokości w css. Zauważ, że nie wszystko się psuje, a procentowe szerokości w środkowych dwóch kolumnach nadal będą wynosić 30% i 70%. –

2

Ogólne podejście jest takie same jak jeden Monkieboy, ale należy unikać style inline. (przez to mam na myśli pisanie style="someting") w twoim pliku html. Zamiast tego powinieneś używać klas i CSS.

najpierw dać TD klasy jak ten <td class="thin-column">text here</td>, następnie w użyciu CSS zastosować style: .thin-column:{ width: 30% }

+1

+1 - to prawda, po prostu nie chciałem pisać za dużo, żeby zilustrować jakiś punkt. –

Powiązane problemy