HTMLを使って表を作成しているのですが、枠線がキレイに揃いません。
下のソースで50と130のとこをきちんとエクセルのように枠線揃えたいのですが、
どのようにしたら良いのでしょうか?
よろしくお願いします。
<HTML>
<BODY>
<TABLE border=1><TR>
<TH width="50"></TH>
<TH width="135"></TH>
<TH width="65"></th>
<TH width="65"></th>
<TH width="65"></th>
</TR><TR>
<TD colspan="5">
<TABLE border=1><TR>
<TD width=50>50</TD>
<TD width=200>200</TD>
<TD width=130>130</TD>
</TR><TR>
<TD width=50>50</TD>
<TD width=200>200</TD>
<TD width=130>130</TD>
</TR></TABLE>
</TD>
</TR><TR>
<TD colspan="5">
<TABLE border=1><TR>
<TD width=50 rowSpan=2>50</TD>
<TD width=135 rowSpan=2>135</TD>
<TD width=65 rowSpan=2>65</TD>
<TD width=130 colSpan=2>130</TD>
</TR><TR>
<TD width=65>65</TD>
<TD width=65>65</TD>
</TR><TR>
<TD width=50>50</TD>
<TD width=135>135</TD>
<TD width=65>65</TD>
<TD width=65>65</TD>
<TD width=65>65</TD>
</TR><TR>
<TD width=250 colSpan=3>250</TD>
<TD width=65>65</TD>
<TD width=65>65</TD>
</TR></TABLE>
</TD>
</TR><TR>
<TD colspan="5">
<TABLE border=1><TR>
<TD width=250>250</TD>
<TD width=130>130</TD>
</TR></TABLE>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>
No.3ベストアンサー
- 回答日時:
borderおよびcellspacingの幅を考慮していないのが原因かと。
No1様、No2様が幅を調整する例をご提示なので、テーブルを入れ子にしない方法で…
(入れ子をはずしてしまうのが、目的にあっているのかどうか不明ですが)
CSS指定に修正しています。(枠線に色をつけることも可能)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>test</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<style type="text/css">
table.test { border-collapse:separate; empty-cells:hide; }
table.test { border:1px solid #888; border-color:#dee #288 #288 #dee; }
table.test td { border:1px solid #888; border-color:#288 #dee #dee #288; }
</style>
</head>
<body>
<table class="test">
<tr>
<th style="width:50px;"></th>
<th style="width:135px;"></th>
<th style="width:65px;"></th>
<th style="width:65px;"></th>
<th style="width:65px;"></th>
</tr>
<tr>
<td>50</td>
<td colspan="2">200</td>
<td colspan="2">130
</tr>
<tr>
<td>50</td>
<td colspan="2">200</td>
<td colspan="2">130
</tr>
<tr><td></td></tr>
<tr>
<td rowspan="2">50</td>
<td rowspan="2">135</td>
<td rowspan="2">65</td>
<td colspan="2">130</td>
</tr>
<tr>
<td>65</td>
<td>65</td>
</tr>
<tr><td></td></tr>
<tr>
<td>50</td>
<td>135</td>
<td>65</td>
<td>65</td>
<td>65</td>
</tr>
<tr>
<td colspan="3">250</td>
<td colspan="2">130</td>
</tr>
</table>
</body>
</html>
No.2
- 回答日時:
枠線とマージン分を考慮してないからですね。
もっと、おりこうな方法もあるはずですが、とりあえず、
見ながら調整すればああ
これで ぴったし(IE8)
<TABLE border=1>
<TR>
<TH width="50">a</TH>
<TH width="135">b</TH>
<TH width="65">c</th>
<TH width="65">d</th>
<TH width="65">e</th>
</TR>
<TR>
<TD colspan="5">
<TABLE border=1>
<TR>
<TD width="47">50</TD>
<TD width="211">200</TD>
<TD width="135">130</TD>
</TR>
<TR>
<TD width="47">50</TD>
<TD width="211">200</TD>
<TD width="135">130</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD colspan="5">
<TABLE border=1>
<TR>
<TD width=50 rowSpan=2>50</TD>
<TD width=135 rowSpan=2>135</TD>
<TD width=65 rowSpan=2>65</TD>
<TD width=130 colSpan=2>130</TD>
</TR>
<TR>
<TD width=65>65</TD>
<TD width=65>65</TD>
</TR>
<TR>
<TD width=50>50</TD>
<TD width=135>135</TD>
<TD width=65>65</TD>
<TD width=65>65</TD>
<TD width=65>65</TD>
</TR>
<TR>
<TD width=250 colSpan=3>250</TD>
<TD width=65>65</TD>
<TD width=65>65</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD colspan="5">
<TABLE border=1>
<TR>
<TD width=262>250</TD>
<TD width=135>130</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
No.1
- 回答日時:
<TABLE border=1 cellpadding="0" cellspacing="0">
<TR>
<TH width="50"></TH>
<TH width="135"></TH>
<TH width="65"></th>
<TH width="65"></th>
<TH width="65"></th>
</TR>
<TR>
<TD colspan="5">
<TABLE border=1 cellpadding="0" cellspacing="0">
<TR>
<TD width=50>50</TD>
<TD width=202>200</TD>
<TD width=132>130</TD>
</TR>
<TR>
<TD width=50>50</TD>
<TD width=200>200</TD>
<TD width=132>130</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD colspan="5">
<TABLE border=1 cellpadding="0" cellspacing="0">
<TR>
<TD width=50 rowSpan=2>50</TD>
<TD width=135 rowSpan=2>135</TD>
<TD width=65 rowSpan=2>65</TD>
<TD width=131 colSpan=2>130</TD>
</TR>
<TR>
<TD width=65>65</TD>
<TD width=65>65</TD>
</TR>
<TR>
<TD width=50>50</TD>
<TD width=135>135</TD>
<TD width=65>65</TD>
<TD width=65>65</TD>
<TD width=65>65</TD>
</TR>
<TR>
<TD width=250 colSpan=3>250</TD>
<TD width=65>65</TD>
<TD width=65>65</TD>
</TR>
</TABLE>
</TD>
</TR>
<TR>
<TD colspan="5">
<TABLE border=1 cellpadding="0" cellspacing="0">
<TR>
<TD width=254>250</TD>
<TD width=132>130</TD>
</TR>
</TABLE>
</TD>
</TR>
</TABLE>
cellpaddingとcellspacingの初期化と
borderの分をセルの長さに加算する必要があります。
border=0ならセルの長さへの加算はいらないのですが…
回答ありがとうございます。
cellpaddingとcellspacingの初期化と
borderの分をセルの長さに加算する必要があるんですね。
参考になりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
- Perl PERL 1 2022/04/26 14:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルの行を折りたたみたい...
-
テーブルのヘッダとボディの幅...
-
テーブルの任意の列を非表示に...
-
この出品にある送料表の作り方
-
テーブルの行の高さを指定する...
-
テーブルを2つ横に並べる
-
tableの要素(tr、td)に一...
-
htmlで作成するテーブルの横線...
-
EXCELの表にTABLEタグをテキス...
-
画像と画像の間の空白
-
テキストエリアについて
-
tableタグ内の文章を上から揃え...
-
スクロール付きのテーブルで、...
-
<table>を複数使用するレイアウ...
-
ASPでmdbファイルからデータの...
-
幅の違うテーブルを作りたい
-
商品詳細を横並びに表示する方法
-
TABLEのセルの中の文字を行単位...
-
テーブル幅が固定できない
-
テーブルとテーブルの間隔について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
TRタグの余白をcssで設定するには
-
tableにul,または,olを入れられ...
-
テーブルの任意の列を非表示に...
-
テーブルのヘッダとボディの幅...
-
cssで、表示されるテキストによ...
-
HTML <td></td>タグ セル内余...
-
文字列が入っているtdを削除せ...
-
テーブルのセルに画像をピッタ...
-
テーブルの行を折りたたみたい...
-
テーブルの行の高さを指定する...
-
テーブルの表示がずれます
-
テーブルタグのセルの幅の一部...
-
中に<table></table>が使えるア...
-
逆L字の表(table)組み
-
ホームページ 表の上の余白を...
-
表の中の列の順番を入れ替える...
-
EXCELからhtmlへの変換で罫線が...
-
tableでcolspanを使うと次行以...
-
表の1列だけをCSSを使って右揃...
-
文字の中央そろえを一括で指定...
おすすめ情報