2011-03-15 7 views
0

テーブルの行の流れを制御する方法はありますか?テーブル内の特定の行レイアウト

垂直フローを使用する代わりに、指定した数値でグループ化してグループを並べて表示したいと思います。グループサイズが3の場合

この(非標準の)HTMLコードは、期待される結果を示しているが、複数のテーブル使用:ここ

<style type="text/css"> 
    table 
    { 
     float: left; 
     border-collapse: collapse; 
    } 

    td, th 
    { 
     border: solid black 1px; 
    } 
</style> 

<table> 
    <tr><th>ID</th><th>Name</th><th>Address</th></tr> 
    <tr><td>1</td><td>John</td><td>Oregon</td></tr> 
    <tr><td>2</td><td>Joe</td><td>NY</td></tr> 
    <tr><td>3</td><td>Bobby</td><td>Texas</td></tr> 
</table> 

<table> 
    <tr><th>ID</th><th>Name</th><th>Address</th></tr> 
    <tr><td>4</td><td>John</td><td>Oregon</td></tr> 
    <tr><td>5</td><td>Joe</td><td>NY</td></tr> 
    <tr><td>6</td><td>Bobby</td><td>Texas</td></tr> 
</table> 

<table> 
    <tr><th>ID</th><th>Name</th><th>Address</th></tr> 
    <tr><td>7</td><td>John</td><td>Oregon</td></tr> 
    <tr><td>8</td><td>Joe</td><td>NY</td></tr> 
</table> 

結果が得られる。

Fake horizontal rows flow layout

+0

どうしたのですか? – JohnP

+1

もし私がこの権利を読んでいるのであれば、複数のテーブルを貼りつけてください。参照してください:http://stackoverflow.com/questions/5091503/how-can-i-make-display-block-work-on-a-td-in-ie/5091822#5091822 - あなた(afaik)はフロートできませんIE7の表のセル。 IE7のサポートが必要ですか? – thirtydot

+0

@ JohnP:確かに、この方法はそれほど問題にはなりませんが、標準のHTML/CSSオプションがあれば、より柔軟になり、得られたHTMLコードをテーブルで混乱させることはありません。 JQueryを使って、Javascriptで操作することができます。さらに、このレイアウトを生成するために必要なサーバーサイドコードは、まっすぐで明白です。 – Pragmateek

答えて

1

あなたが好きなような音rowgroupsまたはcolgroups Rowgroupsは、その後、あなたがdisplay:tabletbody Sを変更し、それらを浮動によってグループのサイドバイサイドを配置することができるかもしれない<tbody>

<table> 
    <tbody> 
    <tr><th>ID</th><th>Name</th><th>Address</th></tr> 
    <tr><td>4</td><td>John</td><td>Oregon</td></tr> 
    <tr><td>5</td><td>Joe</td><td>NY</td></tr> 
    <tr><td>6</td><td>Bobby</td><td>Texas</td></tr> 
    </tbody> 
    <tbody> 
    <tr><th>ID</th><th>Name</th><th>Address</th></tr> 
    <tr><td>7</td><td>John</td><td>Oregon</td></tr> 
    <tr><td>8</td><td>Joe</td><td>NY</td></tr> 
    </tbody> 
</table> 

http://www.w3.org/TR/html401/struct/tables.html#h-11.2.3

を使用して作成されます。これは、サイドバイサイドテーブルの外観を与えますが、それでも意味的には正しいでしょう。

+1

実際にOutlookがターゲットである場合、このファンシーは何も動作しません。ごめんなさい。この便利な答えはありがとうございます。 – SpliFF

+0

それは私が期待するほど簡単ではない、私は特に列ヘッダーを宣言することができるようにしたいが、マルチテーブルソリューションよりもはるかにクリーンです。 – Pragmateek