2012-09-28 10 views
9

固定しました -CSS表の列幅: - ダイナミック(50%) - ダイナミック(50%)固定</p> <p>:固定 - ダイナミック(30%) - - ダイナミック(70%)私はテーブルレイアウトのこの種を得るために管理

http://jsfiddle.net/ihtus/ksucU/ enter image description here

を固定しかし、どのように私はこのようなものを得るのですか?固定 - ダイナミック(30%) - ダイナミック(70%) - 固定

enter image description here

おかげ。このよう

答えて

17

<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

エレガント、感謝:) – ihtus

+0

をなぜ使用しない場合は、「テーブルレイアウト:固定します;」 =>すべてが壊れていますか? – ihtus

+0

'table-layout'はデフォルトで' auto'に設定されています。これは、セル内の最も広い、解読不能なコンテンツと同じ幅になることを意味します。 'fixed'はCSSの幅設定を考慮に入れます。すべてが破られるわけではないことに注意してください。中間の2つの列のパーセンテージの幅は、引き続き30%と70%になります。 –

2

一般的なアプローチは、Monkieboyを使用したものと同じですが、インラインスタイルを避ける必要があります。 (つまり、私はstyle="someting"と書いています)をあなたのhtmlファイルに書きます。代わりにクラスとCSSを使用する必要があります。

まずこの<td class="thin-column">text here</td>のようにTDにクラスを与え、 は、あなたのCSSを使用して、それはスタイルを適用するには:.thin-column:{ width: 30% }

+1

+1 - それは正しいです、私はポイントを説明するためにあまりにも多くの書き込みをしたくなかった。 –

関連する問題