2013-06-18 8 views
21
<table id="table_id"> 
    <tr> 
    <td>testtesttesttest</td> 
    <td>testtesttesttest</td> 
    </tr> 
</table> 

テーブルが画面に収まらない場合は、テーブルの2番目のセルに別の行に転送されますか?セル内のテキストではなく、セル全体です。テーブルの行を次の行に折り返す

+1

[この質問の可能性のある重複](http://stackoverflow.com/questions/13792728/use-jquery -to-move-column-order-to-next-tr-page-is-resized) – eggy

+5

@eggy間違いなく。すべてがjQueryではありません。 – Keelan

+0

@Keelan今、すべてがメディアクエリです。 –

答えて

50

変更ブロックをインライン化する細胞:

#table_id { 
 
    display: block; 
 
} 
 

 
#table_id td { 
 
    display: inline-block; 
 
} 
 

 
td { 
 
    background: green 
 
}
<table id="table_id"> 
 
    <tr> 
 
    <td>testtesttesttest</td> 
 
    <td>testtesttesttest</td> 
 
    </tr> 
 
</table>

jsfiddle

+0

あなたはCSS神です!他のすべての答えは不可能だと主張するが、これはうまくいった。私の状況は、私が作成していないプラグインによって生成されていたので、テーブルをdivに変更できなかったようなものでした。 – KalenGi

+1

ニース。列全体を「ラップ」する方法、つまりセルが1つの行にラップするときに、同じセルを他の行にもラップする方法はありますか? – rustyx

+0

@rustyx:私にとっては何かがうまくいくのでしょうか(おそらく、少し遅れますが)、テーブルセルの幅をem単位で設定して、ユーザーズーミングに合わせて縮尺を変えています。 –

2

これはテーブルでは実行できません。「行と列」のグリッドは固定されています。

あなたが inline-block要素使用することができますしかし

<div id="container"> 
    <div>testtesttesttest</div> 
    <div>testtesttesttest</div> 
</div> 

CSS:

#container>div {display:inline-block;vertical-align:top} 
0

Jukka's answerに改良されました。

HTML:

<table id="table_id"> 
<tr> 
<td> testtesttesttest</td> 
<td> testtesttesttest </td> 
<td> testtesttesttest </td> 
<td> testtesttesttest </td> 
<td> testtesttesttest </td> 
</tr> 
<tr> 
<td> testtesttesttest</td> 
<td> testtesttesttest</td> 
<td> testtesttesttest</td> 
<td> testtesttesttest</td> 
<td> testtesttesttest</td> 
</tr> 
</table> 

CSS:

#table_id {display: block; } 
#table_id td {display: inline-block; border: 3px solid #FFFFFF;} 
td { background: green; 
    border: 3px solid #FFFFFF;} /* to show cell sizes */ 

ログインhttp://jsfiddle.net/zjbyE/391

関連する問題