
No.3ベストアンサー
- 回答日時:
最近のInternet Explorerに限れば次のようにできます。
<html>
<head>
<title>テーブルのデータ部分をスクロールするようにするテスト</title>
<style>
<!--
table { border-collapse: collapse; }
.tHeader, .tBody { border: 1px solid black; float: left; }
.tHeader { border-bottom: 0px; }
.tBody { height: 40px; overflow-y: scroll; clear: left; border-top: 0px; }
.tSample th { background-color: silver; border: 1px solid black; }
.tSample td { border: 1px solid silver; }
.tSample colgroup { word-break: break-all; }
.c1 { width: 2em; text-align: right; }
.c2 { width: 4em; }
.c3 { width: 4em; }
.c4 { width: 10em; }
br.clear { clear: both; }
-->
</style>
</head>
<body>
<div class="tSample">
<div class="tHeader">
<table>
<colgroup class="c1"></colgroup>
<colgroup class="c2"></colgroup>
<colgroup class="c3"></colgroup>
<colgroup class="c4"></colgroup>
<tr><th></th><th>A</th><th>B</th><th>C</th></tr>
</table>
</div>
<div class="tBody">
<table>
<colgroup class="c1"></colgroup>
<colgroup class="c2"></colgroup>
<colgroup class="c3"></colgroup>
<colgroup class="c4"></colgroup>
<tr><th>1</th><td>北海道</td><td>札幌</td><td>ラーメン</td></tr>
<tr><th>2</th><td>青森</td><td>青森</td><td>りんご</td></tr>
<tr><th>3</th><td>岩手</td><td>盛岡</td><td>わんこそば</td></tr>
<tr><th>4</th><td>宮城</td><td>仙台</td><td>笹かま</td></tr>
<tr><th>5</th><td>福島</td><td>福島</td><td>輪箱飯</td></tr>
</table>
</div>
</div>
<br class="clear" />
</body>
</html>
ヘッダ部とデータ部をdivで囲って,データ部をoverflow-y: scrollでスクロールできるようにしています。
ヘッダ部とデータ部で同じ<colgroup class="??">を記述して列の幅が等しくなるようにしています。
No.2
- 回答日時:
インラインフレームを使えばそれっぽくは見えますが。
基.htm
<table border="1">
<tr><th width="200px">項目1</th><th width="600px">項目2</th></tr>
</table>
<iframe src="data.htm" width="800px" height="400px" frameborder="0">
</iframe>
data.htm
<html>
<body topmargin="0" leftmargin="0" marginheight="0" marginwidth="0">
<table border="1">
<tr><td width="200px">項目1</td><td width="600px">項目2</td></tr>
</table>
</body>
</html>
こんな感じ。
文字の大きさとかで崩れちゃったりもするので、あんまり期待はしないほうが良いかもです。
あ、このHTMLは即興なので、設定は出来ればちゃんとID、CSSで。
No.1
- 回答日時:
なにかしらの手段があるかもしれませんが、
素直に考えると基本的には出来ないと思います。
理由は、最初以外の TR を1つのまとまりとして扱えないみたいだからです。
なんとか修飾を用いて個々の TR, TD を同一視する事は出来るのですが。
唯一、テーブル自体を DIV 等でひとまとめには出来るので、
<div>
<table border="1">
<caption></caption>
<tbody>
<tr><th>TEST00A</th><th>TEST00B</th><th>xx</th></tr>
<tr><td colspan="3">
<div style="height:3em;overflow:scroll;">
<table border="1">
<caption></caption>
<tbody>
<tr><th colspan="2"></th></tr>
<tr><td>test01a</td><td>test01b</td></tr>
<tr><td>test02a</td><td>test02b</td></tr>
</tbody>
</table>
</div>
</td></tr>
</tbody>
</table>
</div>
上記の考え方で、後はセルの幅を固定すれば(フレーム分割と同じ発想)なんとか・・・。
フレームではないですが、スタイルシートを使っているという点が少々配慮のいる処で・・・。
尚、スタイルシートは出来れば ID,CLASS 指定を用いて
HTML とは分離する事をお勧めし、
且つ外部ファイルにする事もお勧めしますが、
それはまた別の知識であり・・・。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
ASP GridViewで1レコード2行を...
-
表の中の列の順番を入れ替える...
-
テーブルのヘッダ部分固定でデ...
-
tableタグ内で、空白セルでも罫...
-
Tableの途中にスペースを入れた...
-
tableにul,または,olを入れられ...
-
表の1列だけをCSSを使って右揃...
-
サイト作成中・・・表の両端に...
-
テーブルの一部分のセルだけに...
-
テーブルの横に画像を
-
<th>タグを使っても太字にしな...
-
テーブル内の画像の高さ調整に...
-
<img>タグにCSSのclass設定可能?
-
vbscriptで時計を作りたい
-
ホームページのテキストを折り...
-
VBAで作れるかな?
-
テーブルタグの中にdivを含めて...
-
table表を横に並べる際の間隔指定
-
テーブルの位置を細かく指定し...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
テーブルの任意の列を非表示に...
-
テーブルの行を折りたたみたい...
-
javascriptを使って、指定行以...
-
TRタグの余白をcssで設定するには
-
テーブルのセルに画像をピッタ...
-
cssで、表示されるテキストによ...
-
中に<table></table>が使えるア...
-
tableにul,または,olを入れられ...
-
テーブルのヘッダとボディの幅...
-
文字列が入っているtdを削除せ...
-
ホームページ 表の上の余白を...
-
逆L字の表(table)組み
-
EXCELからhtmlへの変換で罫線が...
-
表の中の列の順番を入れ替える...
-
テーブルの表示がずれます
-
htmlのtable内に画像
-
表の1列だけをCSSを使って右揃...
-
HTMLのテーブルで桁をそろ...
-
カレンダー内の数字を左上に配...
-
テーブルの行の高さを指定する...
おすすめ情報